Spring RestTemplate客户端中的301响应代码

Spring RestTemplate客户端中的301响应代码,spring,rest,Spring,Rest,我试图在Spring中使用RestTemplate使用一个服务。我四处尝试,每次都得到301作为响应代码。然而,我很高兴在使用POSTMAN时从相同的uri获得json响应 以下是获取状态列表的代码: HttpHeaders headers = new HttpHeaders(); headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); String baseUri = "http://www.whizapi.com/api/v

我试图在Spring中使用RestTemplate使用一个服务。我四处尝试,每次都得到301作为响应代码。然而,我很高兴在使用POSTMAN时从相同的uri获得json响应

以下是获取状态列表的代码:

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
String baseUri = "http://www.whizapi.com/api/v2/util/ui/in/indian-states-list";
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUri)
                .queryParam("project-app-key","my-key");
HttpEntity<String> entity = new HttpEntity<String>("parameters", headers);
ResponseEntity<String> stats = restTemplate.exchange(builder.build().toUri(),
                HttpMethod.GET,entity ,String.class);
HttpHeaders=newhttpheaders();
setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
字符串baseUri=”http://www.whizapi.com/api/v2/util/ui/in/indian-states-list";
UriComponentsBuilder=UriComponentsBuilder.fromHttpUrl(baseUri)
.queryParam(“项目应用程序密钥”、“我的密钥”);
HttpEntity=新的HttpEntity(“参数”,标题);
ResponseEntity stats=restemplate.exchange(builder.build().toUri(),
获取、实体、字符串、类);

请建议我是否遗漏了任何内容。

HTTP 301是一个永久重定向。您正在访问一个过时的url

已检查此url
http://www.whizapi.com/api/v2/util/ui/in/indian-states-list
重定向到
https://www.whizapi.com/api/v2/util/ui/in/indian-states-list.ashx

如下图所示,可以在位置响应标题中看到相同的内容

因此,您应该直接请求
https://www.whizapi.com/api/v2/util/ui/in/indian-states-list.ashx
从restTemplate对象

可以找到更多细节

希望这有帮助