在请求中设置多个参数
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);
// ...
}
您可以使用 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 了解更多详情。
如果请求是 Get 请求,请使用 @RequestParam,就像 J Asgarov 所建议的那样,如果有其他问题,您也可以通过创建一个包含所有参数的 class 来使用 @RequestBody
例如 Post 请求可能如下所示:
@PostMapping("...")
public String postCache(@RequestBody RegionIdsRequest regionIds)
// ...
}
public class RegionIdsRequest{
List<int> regionsIds = //...
}
我需要形成一个缓存,对于在 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);
// ...
}
您可以使用 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 了解更多详情。
如果请求是 Get 请求,请使用 @RequestParam,就像 J Asgarov 所建议的那样,如果有其他问题,您也可以通过创建一个包含所有参数的 class 来使用 @RequestBody
例如 Post 请求可能如下所示:
@PostMapping("...")
public String postCache(@RequestBody RegionIdsRequest regionIds)
// ...
}
public class RegionIdsRequest{
List<int> regionsIds = //...
}