POST API
웹 어플리케이션을 통해 데이터베이스 등의 저장소에 리소스를 저장할 때 사용되는 API이다. GET API에서는 URL의 경로나 파라미터에 변수를 넣어 요청을 보냈지만 POST API에서는 저장하고 하는 리소스나 값을 HTTP 바디에 담아 서버에 전달한다.
1. @RequestMapping으로 구현하기
GET API와 똑같은 방식으로 사용하되 RequestMethod를 POST로 설정한다.
@RestController
@RequestMapping("/api/v1/post-api")
public class PostController {
// http://localhost/api/v1/post-api/domain
@RequestMapping(value = "/domain", method = RequestMethod.POST)
public String postExample() {
return "Hello Post API";
}
}
2. @RequestBody를 활용한 POST 메서드 구현
일반적으로 POST 형식의 요청은 클라이언트가 서버에 리소스를 저장하는 데 사용한다. POST 요청에서는 리소스를 담기 위해 HTTP Body에 값을 넣어 전송한다.
public class PostController {
// http://localhost:8080/api/v1/post-api/member
@PostMapping(value = "/member")
public String postMember(@RequestBody Map<String, Object> postData) {
StringBuilder sb = new StringBuilder();
postData.entrySet().forEach(map -> {
sb.append(map.getKey() + " : " + map.getValue() + "\n");
});
return sb.toString();
}
}
3. DTO 객체를 활용한 POST API 구현
요청 메시지에 들어갈 값이 정해져 있다면 DTO 객체를 매개변수로 삼아 작성할 수 있다.
public class PostController {
// http://localhost:8080/api/v1/post-api/member2
@PostMapping(value = "/member2")
public String postMemberDto(@RequestBody MemberDto memberDto) {
return memberDto.toString();
}
}
참고 문헌: 스프링 부트 핵심 가이드(스프링 부트를 활용한 애플리케이션 개발 실무)
http://www.yes24.com/Product/Goods/110142898
스프링 부트 핵심 가이드 - YES24
입문자의 눈높이에 맞춰 차근차근 따라 하면서 배우는 스프링 부트 입문서!《스프링 부트 핵심 가이드》는 스프링 부트 기반의 애플리케이션을 개발할 때 필요한 기초적인 내용들을 소개하고,
www.yes24.com
'Back-end > Springboot' 카테고리의 다른 글
[SpringBoot] DELETE API 만들기 (1) | 2023.05.03 |
---|---|
[SpringBoot] PUT API 만들기 (0) | 2023.05.03 |
[SpringBoot] GET API 만들기 (0) | 2023.05.02 |
[SpringBoot] Hello World 출력하기 (0) | 2023.05.02 |
[SpringBoot] 스프링 부트의 동작 방식 (2) | 2023.05.02 |