java - Spring MVC 控制器方法签名中的域类型不起作用
问题描述
将 Spring Boot 2.3.0.RELEASE 更新为 2.3.1.RELEASE 后,domian 类转换在控制器方法中停止工作。
这是参考控制器,在 Spring Boot 2.3.0.RELEASE 之前它工作得很好
@Controller
@RequestMapping("/users")
class UserController {
@RequestMapping("/{id}")
String showUserForm(@PathVariable("id") User user, Model model) {
model.addAttribute("user", user);
return "userForm";
}
}
在 2.3.1.RELEASE 中,当我提出以下请求时,出现以下错误
GET /users/<userid>
2020-06-17 13:07:12.780 WARN 574637 --- [XNIO-1 task-3] .wsmsDefaultHandlerExceptionResolver:已解决 [org.springframework.web.method.annotation.MethodArgumentConversionNotSupportedException:无法转换“java.lang”类型的值.String' 到所需类型'com.xxx.User';嵌套异常是 java.lang.IllegalStateException:无法将类型“java.lang.String”的值转换为所需类型“com.xxx.User”:找不到匹配的编辑器或转换策略]
解决方案
您可以更新到“昨天”发布的 Spring Boot 2.3.2 。这应该可以解决您的问题。
它包含对Spring Data Neumann-SR2的更新。此版本列出了您的相关 bug 票的修复版本。
推荐阅读
- python-3.x - 如何修复 idle-python3.6?
- mysql - 如何使用 sql 查询在 MySql Workbench 中的表中存在的两行之间插入新行?
- websocket - 如何通过公共 websock 渠道发布私人信息?
- opengl - 图像的振铃或闪烁效果
- devstack - 如何将 LMS 日志写入 Open edX devstack 中的文件?
- jpa - JPQL 中的日期列之间
- vue.js - Vue.js:将现有的 div 元素附加到另一个元素或获取数据中现有的 html 内容
- rest - 如何设计 HTTP API 来推送海量数据?
- php - Codeigniter 排序
- hyperledger-fabric - fabric-tools 和 fabric-ca-tools 图像之间的区别