본문 바로가기

코딩/자바

@ResponseBody

메소드에 적어주면 메소드가 리턴하는 오브젝트는 뷰를 통해 만들어내는 모델로 사용되는 대신, 메시지 컨버터를 통해 바로 HTTP응답의 메시지 본문으로 전환된다.

근본적으로는 xml, JSON과 같은 메시지 기반의 커뮤니케이션을 위해 사용된다.

AJAX 요청을 보내는 방법은 단순 GET방식과 POST로 구분할 수 있으며, POST는 일반폼을 보내는 것과 JSON메시지를 보내는 것이 있다.

예를 중복아이디를 체크할때 아이디만 체크하면 되니까 간단한 GET방식으로 가능하다. 컨트롤러에 ,method=RequestMethod.GET을 써주고
(
AnootationMethodHandlerAdapter 빈의 messageConverters 프로퍼티에 추가해준다.
MappingJacksonHttpsMessagecConverter
)
이렇게해주면 vo가 json형식으로 변환된다. 그리고 @ResponseBody설정에 따라 클라이언트로 보내진다.

화면단의 자바스크립트는 제이쿼리를 이용해서 $.getJSON을 활용한다.
($.getJSON('checkloginid/' + val), function(result){}...

POST 방식일때는 자바스크립트에서
$.postJSON
    return false //Submit되지 않도록하기위해

controllet
메서드에는 @ResposeBody를 써주고 오브젝트에는 @RequestBody를 써준다
그리고 return 오브젝트