【发布时间】:2021-10-19 00:50:57
【问题描述】:
我有一个 GET 处理程序,我从带有 @RequestParam 注释的 URL 中获取 3 个参数:
@GetMapping
public String getStocks(@RequestParam(value = "color", required = true) String color,
@RequestParam(value = "op", required = true) String op,
@RequestParam(value = "size", required = true) Integer size) {
return service.getStocks(color, op, size);
}
我需要对这些参数中的每一个进行大量验证,例如匹配正则表达式模式、范围等。我不能在前端做到这一点。
我尝试在 @RequestParam 之前使用注释来做到这一点,并且效果很好,但它看起来如此丑陋和凌乱,因为我需要在每个参数上添加很多它们。
是否有“正确的方法”来验证来自 GET 请求的参数,就像我们可以使用 DTO 和 POST 请求一样?
【问题讨论】:
-
看来问题与请求参数中的自定义验证有关。如果是这样,这是一个被问到并得到很好回答的question。
标签: java spring spring-boot spring-mvc