Java 重定向后Spring RestTemplate.getForEntity()的意外响应代码

Java 重定向后Spring RestTemplate.getForEntity()的意外响应代码,java,spring,redirect,httprequest,resttemplate,Java,Spring,Redirect,Httprequest,Resttemplate,RestTemplate创建如下: (HttpClientBuilder来自org.apache.http.impl.client.*) 用法如下: ResponseEntity<String> response = restTemplate.getForEntity( ${url} , String.class); int responseCode = response.getStatusCodeValue(); ResponseEntity response=restempl

RestTemplate创建如下: (HttpClientBuilder来自org.apache.http.impl.client.*)

用法如下:

ResponseEntity<String> response = restTemplate.getForEntity( ${url} , String.class);
int responseCode = response.getStatusCodeValue(); 
ResponseEntity response=restemplate.getForEntity(${url},String.class);
int responseCode=response.getStatusCodeValue();
现在${url}有3种情况,不同之处仅在于查询参数:

  • 查询参数值均正常,页面存在,响应代码==200(如预期)
  • 查询参数值错误,重定向,响应代码==302(由于noRedirectFactory,如预期)
  • 查询参数错误,重定向响应代码==200。这与第二种情况有何不同
    提前感谢。

    因为发送第三个请求与发送不带查询参数的请求相同,因此您将获得未过滤的完整视图;我相信这是正常情况。由于服务本身的实现以及查询参数yr和ek的验证可能会失败,因此您可能会收到第二种情况下的302 id。因此,服务只知道在这种情况下重定向。我有点困惑,因为当在浏览器中打开时,2rd和3rd看起来都是相同的重定向。我从浏览器收到了第二个案例的302重定向和第三个案例的200重定向。它的表现与预期相符。你介意告诉我你到底想实现什么吗?用查询参数获取URL:当前年份和发布数据的最近一周。这一切都没问题,因为它很容易实现一个循环,从当前周开始,在302之后每次从递减周开始。只是想知道3rd和2rd有什么不同。谢谢你的回复,现在一切都清楚了。
    ResponseEntity<String> response = restTemplate.getForEntity( ${url} , String.class);
    int responseCode = response.getStatusCodeValue();