我需要使用example.com/api
名为的查询参数发送获取请求test[]
为此我使用spring rest tepmlate
UriComponentsBuilder builder = UriComponentsBuilder
.fromUriString(example.com/api)
.queryParam(test[], "test");
responseEntity = restTemplate.exchange(builder.toUriString(), HttpMethod.GET,
new HttpEntity<>(this.setHttpHeader()),
new ParameterizedTypeReference<List<MyDTO>>() {
});
但是builder.toUriString()
返回example.com/api?test%5B%5D=test
我尝试用我的方法替换 srting
private String repairUri(String uri) {
return url.replaceAll("%5B%5D", "[]");
}
并打电话
responseEntity = restTemplate.exchange(repairUri(builder.toUriString()), HttpMethod.GET,
new HttpEntity<>(this.setHttpHeader()),
new ParameterizedTypeReference<List<MyDTO>>() {
});
但是进入 restTemplate.exchange() 这个 uriexample.com/api?test%5B%5D=test
再次转换。
同时,我很容易example.com/api?test[]=test
通过 POSTMan 发送请求并且它的工作。
我如何example.com/api?test[]=test
在 Spring 中发送请求?