【问题标题】:Limit the number of the same request param in spring限制spring中相同请求参数的个数
【发布时间】:2019-05-06 16:02:18
【问题描述】:

我有类似的 GET 请求

/api/v1/data?name=aaa&name=bbb&name=cccc&name=dd&name....

我想限制'name'参数的数量,它不能超过100(可以在属性文件中配置)

这是我的控制器

public Data getDataByNames(@RequestParam(value = "name") List<String> names) {
    return userService.getDataByNames(names);
}

我该怎么做?谢谢

更新:是的,我可以签入服务层: if(names.size()

【问题讨论】:

标签: spring-boot http-request-parameters


【解决方案1】:

如果您不需要最大数量的可配置元素,您可以使用注解@Size。 步骤 1. 为您的请求参数定义一个包装器

public class NameWrapper {

    @Size(max = 100)
    @NotEmpty
    private List<String> name;
    //getters and setters
}

第 2 步。将包装器作为参数添加到控制器方法中

public Data getDataByNames(@Valid NameWrapper nameWrapper) {

如果您想从应用程序属性中进行配置,您应该定义自己的自定义参数解析器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-31
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    相关资源
    最近更新 更多