hrming
[에러] template might not exist or might not be accessible by any of the configured Template Resolvers 본문
[에러] template might not exist or might not be accessible by any of the configured Template Resolvers
hrming 2024. 3. 27. 12:06
template might not exist or might not be accessible by any of the configured Template Resolvers
추천 버튼을 누르면, 추천 테이블에 추천 정보를 업데이트하는 로직을 아래와 같이 만들었다.
그리고 이 경우에는, 화면단 변경은 필요하지 않았다.
1) 선택한 게시글에,
1-1) 로그인한 유저가 아직 추천을 하지 않았을 경우, '추천' 처리
1-2) 로그인한 유저가 이미 추천을 했을 경우, '추천 취소(삭제)'처리
리뷰 관련 작업이기 때문에, 기존에 작성했던 ReviewCtrl에 Recommend 로직을 추가했고, ReviewCtrl에는 @Controller 어노테이션이 적용되어 있어서 발생한 에러였다.
@Controller 와 @RestController차이
Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있다.
전통적인 Spring MVC 컨트롤러인 @Controller와 RESTful 웹 서비스의 컨트롤러인 @RestController의 주요한 차이점은 HTTP Response Body가 생성되는 방식이다.
@Controller의 역할은 Model 객체를 만들어 데이터를 담고 View를 반환 ✨하는 것이고,
@RestController는 단순히 객체만을 반환하고 객체 데이터는 JSON 또는 XML 형식으로 HTTP 응답에 담아 전송한다.
( 물론 @Controller도 @ResponseBody를 사용해서 만들 수 있지만 이런 방식은 RESTful 웹 서비스의 기본 동작이기 때문에 Spring은 @Controller와 @ResponseBody의 동작을 조합한 @RestController를 도입했다.
( @RestController는 = @Controller + @ResponseBody의 동작을 하나로 결합)
출처 및 참고 :
https://velog.io/@dbekdms17/Spring%EC%97%90%EC%84%9C-ajax%EC%82%AC%EC%9A%A9
Spring에서 ajax사용
※ 주의점컨트롤러의 파라미터앞에 @RequestBody 어노테이션을 넣어야 한다. 프론트에서 전달 한 json 데이터를 해당 파라미터에 매핑시킨다는 뜻. 1번째 아작스와 2번째 아작스의 차이는 contentType
velog.io