블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
@PostMapping
POST 통신을 할때는 @RequestMapping(method=RequestMethod.POST, ...)
를 이용하거나 @PostMapping
을 이용한다.
@RestController
@RequestMapping("api")
public class PostController {
@RequestMapping(method = RequestMethod.POST, path = "/postMethod")
public String postMethod() {
return "Hello Spring";
}
@PostMapping("/postMethod2")
public String postMethod2() {
return "Hello Spring";
}
}
@RequestBody
만약, 함께 받아야하는 데이터가 있다면, @RequestBody
를 활용한다.
예제를 위해 VO 객체를 생성한다.
SearchVo.java
public class SearchVo {
private String username;
private String email;
private int page;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
@Override
public String toString() {
return "SearchParamVO{"
+ "username='"
+ username
+ '\''
+ ", email='"
+ email
+ '\''
+ ", page="
+ page
+ '}';
}
}
PostController.java
@RestController
@RequestMapping("api")
public class PostController {
...
@PostMapping(value = "/search")
public SearchVo search(@RequestBody SearchVo searchVo) {
return searchVo;
}
}
@RequestBody
를 이용하여 HTTP Body에 담긴 데이터를 매핑하여 가지고 온다.
- 주의할 점으로 GET 통신에서는
@RequestParam
을 사용하지만, POST 통신에서는@RequestBody
를 사용한다.
그리고, 받은 데이터를 그대로 return하여 응답을 보낸다.
- 참고. 내부적으로
Jackson
라이브러리에 의해 알아서 JSON 포맷으로 변환 됨
REST Client 설치
POST 메소드는 HTTP body에 데이터를 넣어 보내야하기 때문에 테스트를 위해서 REST Client
가 필요하다.
(본 글에서는 크롬 확잡앱중에서 가장 인기있는 웹앱을 추가하였다)
그리고, POST 통신으로 방금 만든 API를 데이터와 함께 호출해본다.
관련 글
2020/11/11 - [Spring/Spring Boot] - Spring Boot와 @RequestMapping, @GetMapping, @RequestParam 예제
반응형
'Backend > Spring Boot' 카테고리의 다른 글
JPA 오류 해결 - Unable to locate Attribute with the the given name [Column] (0) | 2020.11.14 |
---|---|
Spring Boot 와 MySQL & JPA 연동하기 (Gradle 프로젝트) (1) | 2020.11.11 |
Spring Boot와 @RequestMapping, @GetMapping, @RequestParam 예제 (1) | 2020.11.11 |
Spring Boot 와 MySQL 연동하기 (Maven 프로젝트) (0) | 2020.10.31 |
Spring Boot 에서 JPA 사용하기 (MySQL 사용) (0) | 2020.10.31 |