java Spring MVC 4@RequestParam DTO强制属性
我已经创建了一个DTO对象,它包含@RestController需要接收的参数所包含的属性。其中一些是强制性的,而另一些则不是
控制器方法如下所示:
@RequestMapping(path = "/endpoint_url", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public List<ReturnDTO> endpoint(@RequestParam(required = false) FilterDTO filter) { ... }
我想知道是否有任何方法可以使某些FilterDTO属性成为强制属性,就像使用@RequestParam(required=true)注释一样
我尝试了javax中的@NotNull注释。验证。限制。NotNull但它似乎不起作用
任何想法都将不胜感激
# 1 楼答案
这个想法是,你需要使用@Validated或@Valid from org。springframework。验证。使用@RequestBody对象进行注释 所以看起来是这样的
那么filterdo中的所有变量都是可选的,除非您向它们添加@NotNull注释
所以它将是
这意味着名称不能为null,否则将引发异常