Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC 4@RequestParam DTO强制属性_Java_Spring_Spring Mvc_Servlets - Fatal编程技术网

Java Spring MVC 4@RequestParam DTO强制属性

Java Spring MVC 4@RequestParam DTO强制属性,java,spring,spring-mvc,servlets,Java,Spring,Spring Mvc,Servlets,我已经创建了一个DTO对象,该对象包含@RestController需要接收的参数所包含的属性。其中一些是强制性的,而另一些则不是 控制器方法如下所示: @RequestMapping(path = "/endpoint_url", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public List<ReturnDTO> endpoint(@RequestParam(required

我已经创建了一个DTO对象,该对象包含@RestController需要接收的参数所包含的属性。其中一些是强制性的,而另一些则不是

控制器方法如下所示:

@RequestMapping(path = "/endpoint_url", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public List<ReturnDTO> endpoint(@RequestParam(required = false) FilterDTO filter) { ... }
@RequestMapping(path=“/endpoint\u url”,method=RequestMethod.GET,products=MediaType.APPLICATION\u JSON\u VALUE)
公共列表终结点(@RequestParam(required=false)FilterDTO filter){…}
我想知道是否有任何方法可以使某些filterdo属性成为强制属性,就像使用@RequestParam(required=true)注释一样

我尝试了javax.validation.constraints.NotNull中的@NotNull注释,但它似乎不起作用


任何想法都将不胜感激

这个想法是,您需要在@RequestBody对象中使用@Validated或@Valid from org.springframework.validation.annotation 所以看起来是这样的

@RequestMapping(path = "/endpoint_url", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public List<ReturnDTO> endpoint(@Validated @RequestParam FilterDTO filter){}

这意味着名称不能为null或将引发异常

如果要将请求属性绑定到对象,请不要使用
@RequestParam
使用
@modeldattribute
。添加
@Valid
并将
@NotNull
@NotEmpty
放在dto中所需的字段上。此解决方案非常有效!谢谢GET调用不能有@RequestBody。
@NotNull
private String name