Springboot

POST API 생성

수아파파's 2023. 9. 17. 19:48
반응형

스프링부트에서 POST API를 생성하는 방법은 다음과 같습니다.

1. REST 컨트롤러 클래스 생성하기: 스프링부트에서는 @RestController를 사용하여 REST 컨트롤러를 만듭니다. 이를 통해 API를 사용할 수 있습니다.

@RestController 
public class ApiController { 
   @PostMapping("/api") // POST 요청을 처리할 URL 지정 
   public ResponseEntity postData(@RequestBody String data) { 
      // 요청 본문에서 데이터를 추출하거나 처리하는 로직을 작성합니다. 
      System.out.println("받은 데이터: " data); 
      // 응답 메시지 설정 
      String response = "데이터가 성공적으로 전송되었습니다."; 
      return ResponseEntity.ok(response); 
   } 
}

 

위 코드에서는 `/api` URL에 대한 POST 요청을 처리하는 `postData` 메소드를 작성했습니다. 요청 본문에서 데이터를 추출한 후, 원하는 로직을 수행하고 응답을 반환합니다.

 

2. 요청과 응답 형식 지정하기: 위 예제에서는 요청 본문에서 데이터를 추출하여 처리한 후, 응답으로 문자열을 반환했습니다. 필요에 따라 요청 본문이나 응답 형식을 변경할 수 있습니다. 예를 들어, JSON 형식으로 데이터를 주고받을 수 있습니다. 이를 위해 Jackson 라이브러리를 사용할 수 있습니다

 

@RestController 
public class ApiController { 
   @PostMapping("/api") 
   public ResponseEntity postData(@RequestBody Data requestData) { 
      // 데이터 처리 로직 작성 
      // 응답 데이터 생성 
      Data responseData = new Data(); 
      responseData.setMessage("데이터가 성공적으로 전송되었습니다."); 
      // 응답 반환 
      return ResponseEntity.ok(responseData); 
   } 
} 

@Getter 
@Setter 
public class Data { 
   private String message; // 필요한 데이터 필드를 추가할 수 있습니다. 
}

 

위 예제에서는 요청 본문을 `Data` 클래스로 매핑하여 처리하고, 응답으로 `Data` 객체를 반환하도록 구성했습니다.

 

3. 의존성 추가하기: 위 코드에서 `@RequestBody`와 같은 어노테이션을 사용하기 위해서는 Jackson 라이브러리의 의존성을 추가해야 합니다. 이를 위해 `pom.xml` 파일에 다음과 같은 의존성을 추가합니다. 

com.fasterxml.jackson.core jackson-databind

위와 같이 스프링부트에서 POST API를 생성할 수 있습니다.

반응형