[Springboot+Ajax] 데이터 통신
ITWeb/개발일반 2022. 4. 7. 15:43Spring Domain, VO, Model
@Setter
@Getter
@ToString
public class SearchRequestModel {
private PageModel pageModel;
private long id;
}
@Setter
@Getter
@ToString
public class PagetModel {
private int page;
private int size;
private String sort;
}
Spring RestController
@ResponseBody
@RequestMapping(
value = "/api/search",
method = RequestMethod.POST,
produces = { MediaType.APPLICATION_JSON_VALUE }
)
public String search(
@RequestBody SearchRequestModel m
) {
return service.search(m)
}
Ajax
$.ajax({
type: "POST",
url: "/api/search",
dataType: "json",
contentType: "application/json",
data: JSON.stringify({
"pageModel": {
"page": 1,
"size": 20,
"sort": "asc"
},
"id": 1
}),
success: function(res) {
},
error: function(res, status, e) {
}
});
Ajax 요청 시 dataType, contentType 선언 없이 + @RequestBody 선언 없이 사용할 경우,
일반적인 POJO 스타일의 Data Binding 으로 처리가 됩니다. (Spring 에서는 자동으로 처리가 됩니다.)
또는
@RequestParam 을 이용해서 값을 전달 받을 수 있습니다.
오랜만에 화면 작업 하다 보니 이런것도 기억이 가물 가물 합니다.