我需要形成一个缓存,用于通过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
您可以使用array
或List
@GetMapping(value = "/test")
public void test(@RequestParam List<String> ids) {
ids.forEach(System.out::println);
}
发出如下get请求:
http://localhost:8080/test?ids=1,2,3
点击此处查看更多详情。
如果请求是Get请求,请使用J Asgarov建议的@RequestParam,如果是其他请求,您也可以通过创建包含所有参数的类来使用@RequestBody
例如,Post请求可以是这样的:@PostMapping("...")
public String postCache(@RequestBody RegionIdsRequest regionIds)
// ...
}
public class RegionIdsRequest{
List<int> regionsIds = //...
}