【发布时间】:2021-06-01 16:00:03
【问题描述】:
在我的一个应用程序中,我有一个端点,我想从中验证其输入参数。
此方法接收的参数之一是一个字符串,我尝试设置它的最大长度,但它不起作用。当我使用超过 100 个字符的字符串调用端点时,我可以毫无问题地进行调用,并且不应该被允许
问题是我需要以尽可能少的更改来执行此验证,因为此方法是从我不管理的其他应用程序调用的,并且执行任何类型的修改都会很昂贵:将属性合并到豆子
@SecuredApi(securityLevels = {SecuredApiLevel.COMPANY, SecuredApiLevel.USER})
@GetMapping("/example")
public ResponseEntity<SearchRestDTO> search(
**@Valid @Size(max=100)** @RequestParam(value = "query") @ApiParam(required = true, value = "The query that is searched") String query,
return new ResponseEntity<>(searchService.search(query)), HttpStatus.OK);
}
【问题讨论】:
-
你必须在类级别上使用@Validated。没有它,将不会选择验证。
标签: java spring rest validation