【发布时间】:2020-10-06 23:10:34
【问题描述】:
将 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”:找不到匹配的编辑器或转换策略]
【问题讨论】:
-
Post 参数在哪里
-
修复了日志,抱歉之前的错误日志
-
您在字符串中发送的值是什么,您也可以将其放入问题中吗?
-
似乎和this one一样的问题,是由Spring Data Commons的一个bug引起的:-Translation of URI segments and request parameters into aggregates broken这个bug影响Spring Boot 2.3.1、2.2.8和2.1.15版本。
标签: java spring-boot