1) 사용자가 답변내용을 작성하여 답변하기를 클릭한다
2) script.js에서 해당 이벤트를 캐치해서 .serialize()로 해당 내용을 쿼리스트링으로 전달한다
3) 우리는 쿼리스트링으로 전달하기 때문에 @RequestBody
가 필요 없다.
- @RequestBody
: HTTP 요청 본문에 담긴 값을 자바 객체로 변환 시킨다
4) @RestController
는 @ResponseBody
가 포함되어 있다.
@ResponseBody
는 자바객체를 HTTP응답 객체로 변환
이때 HttpMessageConverters 가 자바객체를 HTTP 응답객체로 변환하는데 디폴트로 MappingJackson2HttpMessageConverter 인스턴스가 사용가능하다 (이 때 잭슨이 사용된다)
5) 이렇게 서버단에서 JSON으로 성공적으로 return하면 ajax의 success 부분이 실행되어 html에 해당 부분만 새로 데이터가 뿌려지게 된다.
참고했던 자료
- ajax의 success / error : https://blog.shovelman.dev/829 https://webdevtechblog.com/ajax-%EC%9D%98-%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8%EC%99%80-%EC%84%9C%EB%B2%84-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%86%B5%EC%8B%A0-d681c905e2a9
- Http Message Converters with the Spring Framework & jackson https://www.baeldung.com/spring-httpmessageconverter-rest
- @ReqeustBody와 @ResponseBody 역할 https://webdevtechblog.com/reqeustbody%EC%99%80-responsebody-%EC%96%B8%EC%A0%9C-%EC%82%AC%EC%9A%A9%ED%95%A0%EA%B9%8C-2efcab364edb
- @Request Body에서는 Setter가 필요없다 https://jojoldu.tistory.com/407
이 내용들 쉽게 https://steady-hello.tistory.com/51
Jackson 은 어떻게 동작하는가? https://mommoo.tistory.com/83