[Spring 기록] ajax success 문제(리턴값이 안 올 때) [@Controller vs @RestController ]
오류로 고생하다, 해결한 방법
ajax쓰다보면 컨트롤러에서 리턴값을 jsp에 있는 ajax에서 값을 못 받는 문제가 발생하곤 하는데, 문제는 바로 이것이었다.java파일의 @Controller로 선언이 되어 있는지 확인하자 @Controller를 썼다면 @RequestMapping부분에서 @ResponseBody를 같이 써줘야 값을 전달 할 수 있다.
하지만 @Controller를 @RestController로 바꾸면 @ResponseBody를 쓸 필요가 없어져 되도록이면 @RestController를 쓰면 좋다.
설명
위의 코드는 정상 작동한다.
이 코드에서는 컨트롤러로 선언했기 때문에 매핑 부분에 @ReseponseBody를 선언해줘야 정상 작동한다.
@Controller vs @RestController
굳이 HTTP 설정이 필요하지 않다면, ResponseBody이 더 간결하다.
'◽ Spring, SpringBoot' 카테고리의 다른 글
[Spring - 라이브러리(dependency) - xml 관련 ] 썸네일 (0) | 2019.08.22 |
---|---|
[Spring - 라이브러리(dependency) - xml 관련 ] 파일 업로드, MultipartResolver (0) | 2019.08.21 |
[Spring 기록] 컨트롤러 기능별로 코드 구성 시 이점. (0) | 2019.08.21 |
[Spring 기록] JSON 설정 - 비동기 처리를 위한 준비 (0) | 2019.08.18 |
[Spring - 어노테이션(Annotation) ] @Transactional - 실패시 롤백 (0) | 2019.08.16 |
[Spring - 어노테이션(Annotation) ] @ModelAttribute, Model Class → jsp로 값 넘기기 (0) | 2019.08.15 |
[Spring - 어노테이션(Annotation) ▶ HTTP 요청(2) ] @RestController → @Controller + @ResponseBody 의 축약형 (0) | 2019.08.15 |