作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我在 @Controller
上的处理程序方法的参数上使用 @Valid
时遇到问题。我的代码如下所示:
@RequestMapping(value=BIBBLE_BOBBLE_URI_PATTERN + "/widgets", method=RequestMethod.POST)
@ResponseBody
@ResponseStatus(HttpStatus.CREATED)
public Widget saveNewWidget(
@PathVariable final String username,
@PathVariable final String bibbleBobbleName,
@Valid @RequestBody final Widget widget,
final BindingResult results,
final HttpServletRequest request,
final HttpServletResponse response)
其中 Widget
是我的域对象之一的类。我正在使用 @RequestBody
注释来指示请求的有效负载映射到 widget
(在我的测试中,请求是 JSON,尽管 Jackson 在我的类路径中,所以我也可以使用 XML)。
如您所见,BindingResult
参数直接跟在 Widget
参数之后,但出现以下错误:
java.lang.IllegalStateException: Errors/BindingResult argument declared without preceding model attribute. Check your handler method signature!
如何将 @Valid
注释应用到 @RequestBody
参数,然后得到结果?
附:我正在使用 annotation-driven
来处理连接 Controller 、进行内容协商等。
最佳答案
您使用的是 Spring 3.1 吗?它是 Spring 3.1 版本中新增的功能。请看 Validation For @RequestBody Method Arguments
关于spring - 如何将 @Valid 与 Spring MVC 的 @RequestBody 参数一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6129285/
我是一名优秀的程序员,十分优秀!