首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将@Valid与Spring MVC的@RequestBody参数一起使用?

如何将@Valid与Spring MVC的@RequestBody参数一起使用?
EN

Stack Overflow用户
提问于 2011-05-26 02:46:25
回答 2查看 30.6K关注 0票数 20

我在对@Controller上的处理程序方法的参数使用@Valid时遇到了问题。我的代码如下所示:

代码语言:javascript
复制
@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是我的一个域对象的类。我使用JSON注释来表示请求的有效负载映射到widget (在我的测试中,请求是JSON,尽管Jackson在我的类路径上,所以我也可以使用@RequestBody )。

正如您所看到的,BindingResult参数紧跟在Widget参数之后,但我得到了以下错误:

代码语言:javascript
复制
java.lang.IllegalStateException: Errors/BindingResult argument declared without preceding model attribute. Check your handler method signature!

如何对@RequestBody参数应用@Valid注释,然后获得结果?

附注:我正在使用annotation-driven来处理控制器的布线、内容协商等。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6129285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档