Java Spring请求参数的自定义验证
我公开了一个rest服务,它接受Java Spring请求参数的自定义验证,java,spring,spring-boot,rest,Java,Spring,Spring Boot,Rest,我公开了一个rest服务,它接受value\u param作为请求参数。如果url参数拼写不正确,则引发以下异常: Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Tue Sep 15 10:57:54 IST 2020 There was an unexpected error (type=Bad Request,
value\u param
作为请求参数。如果url参数拼写不正确,则引发以下异常:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Tue Sep 15 10:57:54 IST 2020
There was an unexpected error (type=Bad Request, status=400).
Required String parameter 'value_param' is not present
我正在尝试显式检查参数。此参数检查与其他检查结合使用,如果任何验证检查失败,则抛出422错误
以下是端点签名:
@GetMapping("/values")
public List<ValueEntity> getValues(@RequestParam(name = "value_param") String valueParameter) {
@GetMapping(“/values”)
公共列表getValues(@RequestParam(name=“value\u param”)字符串值参数){
如何访问
value_param
参数并防止抛出状态为400的错误页面?在控制器中将字段标记为@RequestParam(required=false)
。有关更详细的示例,请参见:您可以将
@RequestParam
的required
属性设置为false,但如果它与其他验证结合使用,可能应该使用单独的请求对象来处理它?谢谢,如何访问服务调用方传递的参数名?如果没有设置值_paramen set确定传递了什么参数?如果不传递参数,在这种情况下它将为null,也可以设置defaultValue=“someValue”这样就可以知道它什么时候通过,什么时候是默认值;如果我通过…?value\u param\u incorrect=test,我可以在controller getValues方法中访问参数名吗?在这种情况下,参数名是value\u param\u incorrect