【发布时间】:2021-10-05 08:12:14
【问题描述】:
我需要形成一个缓存,对于regions by id,在region_ids参数中传递,请求是这样的:
localhost:8080/cache/mscache?region_ids=5,19....,23
如何最好地读取程序代码中的这几个参数?
【问题讨论】:
标签: java spring parameters get request
我需要形成一个缓存,对于regions by id,在region_ids参数中传递,请求是这样的:
localhost:8080/cache/mscache?region_ids=5,19....,23
如何最好地读取程序代码中的这几个参数?
【问题讨论】:
标签: java spring parameters get request
读取一个字符串并将该字符串解析为您想要的任何内容:
@GetMapping("/cache/mscache)
public String getCache(@RequestParam String listOfRegionIds)
List<String> ids = Arrays.stream(listOfRegiosIds.split(",")).collect(Collectors.toList);
// ...
}
【讨论】:
您可以使用array 或List
@GetMapping(value = "/test")
public void test(@RequestParam List<String> ids) {
ids.forEach(System.out::println);
}
发出如下请求:
http://localhost:8080/test?ids=1,2,3
查看here了解更多详情。
【讨论】:
region_ids好。
如果请求是 Get 请求,请像 J Asgarov 建议的那样使用 @RequestParam,如果是这样,您还可以通过创建包含所有参数的类来使用 @RequestBody
例如,一个 Post 请求可能如下所示:
@PostMapping("...")
public String postCache(@RequestBody RegionIdsRequest regionIds)
// ...
}
public class RegionIdsRequest{
List<int> regionsIds = //...
}
【讨论】: