【发布时间】:2016-12-15 17:17:29
【问题描述】:
我创建了一个 DTO 对象,它包含的属性与我的 @RestController 需要接收的参数一样多。其中一些是强制性的,而另一些则不是。
控制器方法如下:
@RequestMapping(path = "/endpoint_url", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public List<ReturnDTO> endpoint(@RequestParam(required = false) FilterDTO filter) { ... }
我想知道是否有任何方法可以像使用 @RequestParam(required = true) 注释一样使某些 FilterDTO 属性成为必需属性。
我尝试了 javax.validation.constraints.NotNull 中的 @NotNull 注释,但它似乎不起作用。
欢迎提出任何想法!
【问题讨论】:
-
如果要将请求属性绑定到对象,请不要使用
@RequestParam使用@ModelAttribute。添加@Valid并将@NotNull或@NotEmpty放在dto 中所需的字段上。 -
这个解决方案就像一个魅力!谢谢!
标签: java spring spring-mvc servlets