在请求中设置多个参数

Setting multiple parameters in a request

我需要形成一个缓存,对于在 region_ids 参数中传递的 id 区域,请求如下所示:

localhost:8080/cache/mscache?region_ids=5,19....,23

程序代码中这几个参数怎么读最好?

给他们读一个字符串,然后将该字符串解析为您想要的任何内容:

@GetMapping("/cache/mscache)
public String getCache(@RequestParam String listOfRegionIds)
    List<String> ids = Arrays.stream(listOfRegiosIds.split(",")).collect(Collectors.toList);
// ...
}

更多信息请见 https://www.baeldung.com/spring-request-param

您可以使用 arrayList

    @GetMapping(value = "/test")
    public void test(@RequestParam List<String> ids) {
        ids.forEach(System.out::println);
    }

发出如下获取请求:

http://localhost:8080/test?ids=1,2,3

查看 here 了解更多详情。

如果请求是 Get 请求,请使用 @RequestParam,就像 J Asgarov 所建议的那样,如果有其他问题,您也可以通过创建一个包含所有参数的 class 来使用 @RequestBody

例如 Post 请求可能如下所示:

@PostMapping("...")
public String postCache(@RequestBody RegionIdsRequest regionIds)
// ...
}

public class RegionIdsRequest{
    List<int> regionsIds = //...
}