728x90
@RequestBody
HttpMessageConverter에 의해 Json 포맷의 데이터 java 객체로 자동으로 역직렬화
예시)
Controller.java
@PostMapping("register")
@ResponseBody // return data
public String register(@RequestBody Member member)
{
...
}
JSP에서 ajax를 통해 통신
var data={
"name": $("#name").val(),
"nickName": $("#nickname").val(),
"password": $("#password").val(),
"gender": $("#gender").val(),
"email":$("#email").val(),
"phone":$("#phone").val(),
"interField":$("#interfield").val(),
"address":$("#address").val(),
"email":$("#email").val()
}
$.ajax({
type:"post",
url:"/register",
contentType:"application/json;charset=utf-8",
data:JSON.stringify(data),
success:function(resp){
if(resp=="success"){
alert("성공")
location.href="/login"
}
if(resp=="fail"){
alert("이미 존재하는 사용자명입니다.")
$("#name").focus();
$("#name").val("");
}
},error:function(e){
alert("실패: "+e)
}
})
Map 을 사용하여 여러 매개변수를 가지 수도 있다.
@PostMapping("busanThema")
@ResponseBody
public ResponseEntity<APIMessage> busanThema(@RequestBody Map<String, Object> pageData, Model model) throws Exception
{
APIMessage apimsg = new APIMessage( );
log.info((String)pageData.get("pageNo"));
log.info((String)pageData.get("numOfRows"));
...
}
JSP
var data={
"pageNo" : $("#pageNo").val(),
"numOfRows": $("#numOfRows").val()
}
@RequestParam
쿼리스트링을 통해 넘어오는 매개변수를 추출할 수 있다.
@GetMapping("/post")
@ResponseBody
public String getPosts(@RequestParam String id) {
return "ID: " + id;
}
/post?id=abc
요청 매개변수 이름 지정, 필수 속성 사용
매개변수를 지정하지 않으면 메서드 매개변수가 null 에 바인딩
@GetMapping("/post")
@ResponseBody
public String getPosts(@RequestParam(value="id", required=false) String id) {
return "ID: " + id;
}
다중 값 쿼리스트링 매핑
@GetMapping("/post")
@ResponseBody
public String getPosts(@RequestParam List<String> id) {
return "ID: " + id;
}
posts?id=1&id=2&id=3
@PathVariable
요청 URI 매핑에서 변수 사용
@GetMapping("tourreviewUpdateForm/{boardId}/{num}")
public String updateForm(@PathVariable int boardId, @PathVariable int num, Model model)
{
...
}
/tourreviewUpdateForm/1001/1
변수 이름 지정
@GetMapping("tourreviewUpdateForm/{id}/{num}")
public String updateForm(@PathVariable("id") int boardId, @PathVariable int num, Model model)
{
...
}
Map 사용
@GetMapping("tourreviewUpdateForm/{id}/{num}")
public String updateForm(@PathVariable Map<String,int> pathMap, Model model)
{
int id = pathMap.get("id");
int num = pathMap.get("num");
...
}
Model 객체 사용
controller
model.addAttribute("tourarea",tourarea );
jsp 사용
<h4 class="title">${tourarea.contentsName }</h4>
'Back-end > Spring Boot + REST API' 카테고리의 다른 글
Spring boot - blog application (REST API) : Comment (0) | 2022.07.03 |
---|---|
Spring boot - blog application (REST API) : Pagination and Sorting Support (0) | 2022.06.30 |
Spring boot - blog application (REST API) : Post CRUD (0) | 2022.06.29 |
Spring boot - blog application (REST API) (0) | 2022.06.28 |
SpringBoot 개념정리 (0) | 2022.06.22 |
댓글