如何在Spring MVC的@RequestBody参数中使用@Valid?
我在@Valid
的处理程序方法的参数上使用参数时遇到问题@Controller
。我的代码如下所示:
@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
参数,然后获取结果?
PS,我annotation-driven
用来处理控制器的接线,进行内容协商等。
回答:
您正在使用Spring 3.1吗?它是Spring
3.1中的新增功能。请参见验证@RequestBody方法参数
以上是 如何在Spring MVC的@RequestBody参数中使用@Valid? 的全部内容, 来源链接: utcz.com/qa/429318.html