spring - 圆形视图路径[问候]
问题描述
我正在使用spring-boot-starter-paren: 2.3.2.RELEASE
.
这是我的代码:
package com.example.sweater;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Map;
@Controller
public class GreetingController {
@GetMapping("/greeting")
public String greeting(@RequestParam(name="name",
required=false,
defaultValue="World") String name,
Map<String, Object> model) {
model.put("name", name);
return "greeting";
}
}
堆栈跟踪: https ://pastebin.com/wtS2ubus
问题:javax.servlet.ServletException:圆形视图路径 [greeting]:将再次分派回当前处理程序 URL [/greeting]。检查您的 ViewResolver 设置!(提示:由于默认视图名称生成,这可能是未指定视图的结果。)
我该如何调试呢?
解决方案
这circular path exception
是由于春季的默认 ViewResolvers 造成的。如果您的@GetMapping
on path = 'path' 返回一个值,该值也被定义为项目中的视图(html 或等效项,即 path.html),则会发生此错误。
如以下来源所述:
默认情况下,Spring MVC 框架应用 InternalResourceView 类作为视图解析器。因此,如果@GetMapping 的值与视图相同,则请求将失败,并出现循环视图路径。
一种可能的解决方案是重命名视图并更改控制器方法中的返回值。
如果我们不想重命名视图并更改控制器方法中的返回值,那么另一种解决方案是为项目选择另一个视图处理器。
来源:https ://www.baeldung.com/spring-circular-view-path-error
推荐阅读
- python - 使用具有 1-5 个唯一值的键创建字典
- windows - 批处理文件:两个连续的 IF
- javascript - 通过 replace() 和正则表达式替换对象的字符串路径导致错误
- terraform - 如何隐藏 Terraform“人工制品”后端凭据?
- javascript - 在客户端之间共享状态的服务器上的单个 JS 对象中可以存储多少数据?
- r - 如何分隔单元格中的多个数值数据值并查找每列的总数?
- azure-cosmosdb - 当 CosmosDb 说 10 毫秒写入延迟时,是否包括写入请求到达 cosmosdb 服务器所需的时间?
- android - 如何在 kapt 中设置包 ID
- python - 如何使用 Python Apache Beam 解压缩 beam.Map 中的字典值
- android - 更新flutter sdk和所有包后出错