북 스터디/스프링 부트 핵심가이드

스프링 부트 개발하기 / API 작성

EnoughTT 2023. 3. 19. 21:04

스프링 부트 개발하기

프로젝트 생성

  1. 인텔리제이 - 프로젝트 생성
  2. 스프링 공식 사이트 - 프로젝트 생성

1. 인텔리제이 프로젝트 생성

New Project 클릭
Spring Initializr 클릭 후 Name 등 하위 항목 작성

Name : 프로젝트 이름 설정

Location : 프로젝트 생성할 위치 설정

Language : JVM 상에서 동작하는 언어 선택

Type : 빌드 툴 선택

  (Maven 도 사용하지만 Gradle 도 사용하는 추세)

Group : 프로젝트를 정의하는 고유 식별자 정보인

그룹 설정 / 정보를 거꾸로 작성 (?)

Artifact : 세부 프로젝트를 식별하는 정보 기입

Package name : Group과 Artifact를 설정 시 자동 기입

JDK : JDK 버전 선택

Java : Java 버전 선택

Packaging : 애플리케이션을 쉽게 배포하고 동작하게 하는 패키징 옵션

(jar / war 참고)

프로젝트에서 사용할 의존성(라이브러리) 추가

 

2. 스프링 공식 사이트 프로젝트 생성

사이트 : Spring Initializr

스프링 공식 사이트에서 프로젝트 생성

ADD DEPENDENCIES : 의존성 추가

GENERATE : 프로젝트 생성

 


API 작성

  • GET API 작성 (조회 - 파라미터값 보여짐)
  • POST API 작성 (조회 - 파라미터값 안보임)
  • PUT API 작성 (수정)
  • DELETE API 작성 (삭제)
/**
* GET API
*/
// @RequestMapping 사용
@RequestMapping(value = "/hi", method = RequestMethod.GET)
public String getHi() {
    return "hi~ evryOne~";
}

// @GetMapping, @RequestParam 사용
@GetMapping(value = "/request")
public String getRequestParam(@RequestParam String name,
		@RequestParam String number, @RequestParam String text) {
    return name + " " + number + " " + text;
}

/**
* POST API
* POST 요청은 HTTP Body에 값을 넣어 전송함
* 일반적으로 JSON 형식으로 전송
*/
// @RequestMapping 사용
@RequestMapping(value = "/postRequest", method = RequestMethod.POST)
public String postExample(){
    return "Hi Post API";
}

// @PostMapping, @RequestBody 사용
@PostMapping(value = "/memberDto")
public String postMemberDto(@RequestBody MemberDto memberDTO) {
    return memberDTO.toString();
}

/**
* PUT API
* POST 요청과 같이 HTTP Body에 값을 넣어 전송함
*/
@PutMapping(value = "/memberDto2")
public MemberDto postMemberDto2(@RequestBody MemberDto memberDto) {
    return memberDto;	// MemberDto 리턴 / Content 형식 - application/json 형식으로 전달
}

/**
* DELETE API
*/
@DeleteMapping(value = "/requestDel")
public String getRequestDel(@RequestParam String email) {
    return "e-mail : " + email;
}

'북 스터디 > 스프링 부트 핵심가이드' 카테고리의 다른 글

연관관계 매핑  (0) 2023.04.09
Spring Data JPA  (0) 2023.04.01
데이터베이스 연동 - 2  (0) 2023.03.26
데이터베이스 연동 - 1  (0) 2023.03.25
스프링부트 란? / 기초 지식  (0) 2023.03.18