버그잡기

[Spring boot]template might not exist or might not be accessible by any of the configured Template Resolvers

dev_ajrqkq 2024. 7. 30. 00:38

*에러 코드

@Controller
@AllArgsConstructor
@RequestMapping("/api")
public class ProductController {

    private final ProductService productService;

    @PostMapping("/products")
    public ProductResponseDto addProduct(@RequestBody ProductRequestDto requestDto) {
        return productService.addProduct(requestDto);
    }
}

 

 

*원인

@Controller를 사용하면 뷰 리졸버가 실행되어 뷰를 찾고 렌더링 한다.

위 코드에서는 뷰가 아닌 데이터를 반환하려고 하니 에러가 나는 것이다.

 

*해결

@ResponseBody를 사용하거나

@Controller와 @ResponseBody가 결합한 어노테이션인 @RestController를 사용하여 해결한다.