똑같은 삽질은 2번 하지 말자

Spring 에서 ajax로 여러가지 데이터 보내서 @RequestBody로 받기 본문

Spring/忘れやすい概念

Spring 에서 ajax로 여러가지 데이터 보내서 @RequestBody로 받기

곽빵 2019. 8. 4. 15:20

우선 @RequestBody, @ResponseBody가 필요한데 이 둘의 역할은

 

@RequestBody => HTTP 요청 몸체를 자바 객체로 변환

@ResponseBody => 자바 객체를 HTTP 응답 몸체로 변환

 

 

그리고 @RequestBody로 받을 경우는 Request Stream을 닫아버리기 때문에 2개 이상을 사용할수 없다..하나로 받고 Stream을 닫는다고 생각하시면 된다고 한다.

 

이것도 모르고 @RequestBody 를 여러개 사용해서 받을려고 했다 나는....

 

그래서 위 처럼 맞닥들인 오류는

그래서 저는 Map을 이용해서

 

두개의 값을 받아주었다. 여기서 ajax 에서 주의해야했던 점이

 

JSON.stringify로 data를 JSON 문자열 형태로 바꿔서 넘겨줘야했던점이다. 

 

JSON.stringify( )는 자바스크립트의 값을 JSON 문자열로 변환한다.

 

JSON이란?

JSON은 JavaScript Object Notation의 약자로, 브라우저와 서버사이에서 오고가는 데이터의 형식이다.

 

JSON.stringify(value, replacer, space)

value(필수): JSON 문자열로 변환할 값이다.(배열, 객체, 또는 숫자, 문자 등이 될 수 있다.)

replacer(선택): 함수 또는 배열이 될 수 있다. 이 값이 null 이거나 제공되지 않으면, 객체의 모든 속성들이 JSON 문자열 결과에 포함된다.

 

 

 

Comments