Spring Framework
Controller / Post API - @postMapping
진청우
2023. 1. 18. 13:12
Post API
리소스를 추가하기 위해 사용되는 API.
@PostMapping : POST API를 제작하기 위해 사용되는 어노테이션 (@RequestMapping + Post method의 조합)
아래는 파라미터 없이 보내는 방식.
@RestController
@RequestMapping("/api/v1/post-api")
public class PostController {
@PostMapping(value = "/default")
public String postMethod() {
return "Hello World";
}
일반적으로 추가하고자 하는 Resource를 http body에 추가하여 서버에 요청.
그렇기 때문에 @RequestBody를 사용하여 body에 담겨 있는 값을 받아야 함.
//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();
}
DTO 사용
key와 value가 정해져 있지만 받아야 할 파라미터가 많을 경우 DTO 객체를 사용한 방식.
//http://localhost:8080/api/v1/post-api/member2
@PostMapping(value = "/member2")
public String postMemberDto(@RequestBody MemberDTO memberDTO) {
return memberDTO.toString();
}