Java
[Spring] Front에서 보낸 데이터를 서버에서 받는 몇 가지 방법
쮸니이
2022. 9. 27. 15:08
반응형

서버와의 연동 작업을 진행하면서, 제일 중요하다고 생각하는 건 데이터를 어떤 식으로 주고받을지가
제일 중요하다고 생각한다
1. 배열 전송하기
Clinet
Method : POST
Content-type : application/x-www-form-urlencoded; charset=UTF-8
$.ajax({
url: "/test",
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
type: "post",
data: {ids : [1,2,3]},
success: function (res) {
},
error: function (request, status, error) {
}
});
Server
@PostMapping(value = "/test")
@ResponseBody
@ResponseStatus(HttpStatus.NO_CONTENT)
public void test(
@RequestParam(name = "ids[]", required = false) List<Integer> ids
) {
logger.info("ids : {}", ids);
}
2. 배열 전송하기(JSON)
Client
Method : POST
Content-type : application/json; charset=UTF-8
$.ajax({
url: "/test",
dataType: "json",
contentType: "application/json; charset=UTF-8",
type: "post",
data: JSON.stringify([1, 2, 3]),
success: function (res) {
},
error: function (request, status, error) {
}
});
Server
@PostMapping(value = "/test")
@ResponseBody
@ResponseStatus(HttpStatus.NO_CONTENT)
public void test(
@RequestBody(required = false) List<Integer> ids
) {
logger.info("ids : {}", ids);
}
3. 배열과 데이터 전송하기(JSON)
Client
Method : POST
Content-type : application/json; charset=UTF-8
$.ajax({
url: "/test",
dataType: "json",
contentType: "application/json; charset=UTF-8",
type: "post",
data: JSON.stringify({ids: [1, 2, 3], name: "kim"}),
success: function (res) {
},
error: function (request, status, error) {
}
});
Server
Json 데이터를 바인딩할 객체
public class Test {
private List<Integer> ids;
private String name;
//setter, getter 생략
}
@PostMapping(value = "/test")
@ResponseBody
@ResponseStatus(HttpStatus.NO_CONTENT)
public void test(
@RequestBody(required = false) Test test
) {
logger.info("test : {}", test);
}
반응형