mj@home:~$

Object List를 Ajax로 보내는 방법

javasciprt

  • ajax의 data를 JSON.stringify()함수를 사용하여 json 형태로 만들어 보낸다.
  • contentType은 “application/json;charset=UTF-8”로 설정한다.
$.ajax({
	url : API_SERVER + "/addCSVShoes",
	type : "POST",
	contentType: "application/json; charset=UTF-8",
	data : JSON.stringify(shoesList),
	crossDomain: true,
	beforeSend: function(xhr) {
		xhr.setRequestHeader("Token", TOKEN);
	},
	success : function(data) {
		if(data.toString() === "true") {
			alert("신발 등록을 완료하였습니다.");
			window.opener.location.reload();
			window.close();
		}
		else {
			alert("신발 등록에 실패하였습니다.");
		}
	},
	error: function(xhr, exception) {
		if (xhr.status === 401) {
			alert("세션이 만료되었습니다.");
			$(location).attr('href', '/perform_logout');
		}
	}
});

java

  • jackson library를 사용하여 json을 받아서 object 형태로 받을 수 있게 한다.
  • 파라미터는 “@ReqeustBody TestDTO [] testDTO” 형태의 배열로 받는다.
  • content-type의 설정에 javascript에서 호출하는 값일 없을 경우 설정해준다.
@RequestMapping(value = "/addCSVShoes")
public ResponseEntity<Object> addCSVShoesInfo(@RequestHeader(value = "token") String token,
    @RequestBody ShoesDTO [] shoesDTOList) {
  return createResponseEntity(token, shoesService.registNewShoesList(shoesDTOList));
}