Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- minikube
- CKA 기출문제
- MySQL
- 공부
- 코틀린 코루틴의 정석
- 오블완
- kotlin
- 정보처리기사실기 기출문제
- 정보처리기사 실기
- APM
- 티스토리챌린지
- 기록으로 실력을 쌓자
- kotlin spring
- kotlin coroutine
- CKA
- Kubernetes
- Java
- kotlin querydsl
- PETERICA
- mysql 튜닝
- Pinpoint
- AI
- AWS EKS
- Linux
- 정보처리기사 실기 기출문제
- Elasticsearch
- Spring
- IntelliJ
- CloudWatch
- aws
Archives
- Today
- Total
피터의 개발이야기
[Kotlin] Spring MVC, Circular view path 에러 본문
반응형
ㅁ 들어가며
ㅇ [Kotlin] Spring Boot와 Kotlin으로 QueryDSL 페이징 처리하기을 작성하면서 Circular view path 에러가 발생하여 해결방법을 정리하였다.
ㅁ 에러 내용
jakarta.servlet.ServletException: Circular view path [products]: would dispatch back to the current handler URL [/products] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
ㅇ REST API 컨트롤러에서 뷰 리졸버(View Resolver)가 뷰를 찾으려고 시도할 때 발생한다.
ㅇ Circular view path 에러는 주로 컨트롤러가 반환하는 뷰 이름과 요청 경로가 동일할 때 발생한다.
ㅇ REST API를 작성할 때는 @RestController를 사용하거나, @ResponseBody를 사용하여 반환 값을 뷰 이름으로 해석하지 않도록 해야 한다.
ㅁ 해결방법, RestController 사용
@RestController
@RequestMapping("/products")
class ProductController(private val productService: ProductService) {
@PostMapping
fun createProduct(@RequestBody product: Product): Product {
return productService.saveProduct(product)
}
ㅇ REST API를 작성할 때는 @Controller 대신 @RestController를 사용해야 한다.
ㅇ @RestController는 메서드가 반환하는 값을 뷰 이름으로 해석하지 않고, JSON 또는 XML로 변환하여 반환한다.
ㅁ 해결방법, @ResponseBody 사용
@Controller
@RequestMapping("/products")
class ProductController(private val productService: ProductService) {
@PostMapping
@ResponseBody
fun createProduct(@RequestBody product: Product): Product {
return productService.saveProduct(product)
}
ㅇ @Controller를 사용하면서 특정 메서드만 JSON 또는 XML로 반환하고 싶다면, 해당 메서드에 @ResponseBody를 추가하면 된다.
ㅁ 함께 보면 좋은 사이트
ㅇ How to avoid the "Circular view path" exception with Spring MVC test
반응형
'Programming > Kotlin' 카테고리의 다른 글
[kotlin] Spring Data Elasticsearch 샘플코드 (0) | 2024.08.11 |
---|---|
[Kotlin] Spring Boot Kotlin 프로젝트에 ktlint 설정하기 (0) | 2024.08.05 |
[Kotlin] Spring Boot와 Kotlin으로 QueryDSL 페이징 처리하기 (0) | 2024.08.04 |
[Kotlin] Spring Validation 이용한 입력 데이터 유효성 검증 (0) | 2024.07.30 |
[kotlin] Constructor threw exception; nested exception is java.lang.NullPointerException; 에러 해결방법 (0) | 2024.07.29 |
Comments