一个url中的多个路径变量

问题描述 投票:0回答:1

我试图构建一个可以同时接收多个ID的URL,这样我就可以同时返回两个人,但我得到了一个数字格式异常。

String url = "http://test.com/Services/people/{id}/Identifier"
Map<String, String> params = new HashMap<String, String>();
params.put("id", {"1234","5678"});
UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(url)
                                    .queryParam("DOB", "myDOB");
String uriBuilder = builder.build().encode().toUriString();
restTemplate.exchange(uriBuilder , HttpMethod.PUT, requestEntity,
                class_p, params);

这是因为传入多个id而得到一个数字格式异常,有什么方法可以用不同的格式吗?

java url resttemplate query-parameters path-parameter
1个回答
1
投票

GET /Services/people/42 是对id为 "people "的资源的请求。42.

按某种标准对多人的请求不是资源请求,而是一个 疑问,所以应该使用查询参数。例如 GET /Services/people/find?id=13&id=29 或也许是 POST /Services/people/find 带有效载荷 {"id": [1234, 5678]} (Content-Type: applicationjson).

对于一个RESTful服务来说,你想做的是错误的。

© www.soinside.com 2019 - 2024. All rights reserved.