프런트엔드에서 데이터를 받는 3가지 방법
▶ @RequestParam
- 전달받은 데이터를 URI상에서 찾을 수 있다.
- 해당하는 데이터만 받아올 수 있다.
- @RequestParam으로 데이터를 받을 때는 데이터를 저장하는 이름으로 메서드 파라미터명을 설정해야 한다
@GetMapping("/user")
public String createMember(@RequestParam String name, @RequestParam long id){
}
ex) http://localhost:8080/user?name=OOO&id=1
위의 형식으로 사용된다!
▶ @PathVariable
-URI 경로의 일부를 파라미터로 사용할 때 이용
- 요청 URI 매핑에서 템플릿 변수를 처리하고 이를 메서드 매개변수에 자동으로 값 넣어준다.
@GetMapping("/user/{id}")
public String findById(@PathVariable("id") long id){
}
ex) http://localhost:8080/user/1
위의 숫자 부분을 @PathVariable로 처리
▶ @Requestbody
- HTTP body안에 JSON을 자바 객체에 자동으로 값을 넣어준다.
- 일반적인 GET/POST의 요청 파라미터라면 @RequestBody를 사용하지 않아도 된다.
@PostMapping("/test")
public String Test(@RequestBody Test test) {
}
{
"id": 1,
"name":test,
"pw": "test"
}
ex) http://localhost:8080/test
위와 같이 HTTP Body에 담아서 요청을 보낸다면 @RequestBody는 Body의 내용을 매칭해서 객체 생성 후 값을 넣는다.
참고