@PathVariable
@GetMapping(value="board/{email}/{pw}")
public void testMethod(@PathVariable("email") String id,
@PathVariable String pw){
}
@RequestParam
@GetMapping(value="board")
public void testMethod(@RequestParam String id,
@RequestParam String pw){
}
1개의 파라미터를 받을 때 사용한다.
필수 여부가 true이므로 반드시 파라미터가 전송되어야 한다.
다만 required 값을 false 혹은 defaultValue 를 통해서 400 에러를 해결할 수 있다.
@RequestBody
@PostMapping(value="/test")
public void testMethod(@RequestBody TestVo testVo){
}
Json 형태의 내용을 Object로 변환시켜준다.
form으로 submit해서 받으니까 에러 발생
RequestBody로 받을 때 전송하는 쪽에서 JSON.stringify 형태로 보내야 Controller에서 받아줄 수 있다.
$.ajax({
url: "/test",
type: "post",
data: JSON.stringify(inputData),
contentType: "application/json; charset=UTF-8",
success: function(data) {
}
});
@ResponseBody
서버 -> 클라이언트로 자바 객체를 전송할 때 사용한다.
Controller 클래스에서 ajax 요청을 받아 Json/Xml 형태로 객체 데이터를 반환할 경우에는 해당 메소드에 @ResponseBody 어노테이션을 추가한다.
@ResponseBdoy
@GetMapping(value="board/{email}")
public TestVo testMethod(@PathVariable("email") String id,
@RequestParam String pw){
TestVo testVo = new TestVo();
return testVo;
}