-
spring restcontrollerSpring Boot 2021. 11. 13. 00:34반응형
@PostMapping("/api/user") public String createUser(@RequestBody UserRequestDto requestDto) { return userService.create(requestDto); }
이 메소드의 리턴값은 String이고 RestController 안에서 정의되었다. ajax로 POST를 한 이후 값을 이용하기 위해 .done(function(result) {...})를 사용해 봤지만 전혀 작동이 되지 않았다.
이유는 String으로 보내진 값이 문자열로 인식이 안되고 오류 메시지처럼 인식이 되었기 때문이다. 그리하여 .fail(function(error) { alert(error); }) 를 넣어 실행해 보면 [object object]가 나온다. 이 값의 responseText에 저 메소드의 리턴값이 들어가 있었다. boolean이나 Long으로 리턴하면 문제가 발생하지 않았었는데, String은 문제가 발생했다. 앞으로는 RestController 안의 메소드의 리턴은 꼭 클래스를 따로 만들어 래핑을 해야 할 것 같다.
반응형'Spring Boot' 카테고리의 다른 글
spring boot 배포하기 (0) 2021.11.10 스프링 부트 command 객체 (0) 2021.09.14 스프링 부트 thymeleaf id 뷰에서 컨트롤러로 받아오기 (0) 2021.09.14 스프링 부트 controller 오류 해결 (0) 2021.09.14 스프링 부트 웹 계층 구조 (1) 2021.09.09