相关疑难解决方法(0)

使用Spring restTemplate跟随302重定向?

  RestTemplate restTemplate = new RestTemplate();

  final MappingJackson2XmlHttpMessageConverter converter = new MappingJackson2XmlHttpMessageConverter();
  final List<MediaType> supportedMediaTypes = new LinkedList<MediaType>(converter.getSupportedMediaTypes());
  supportedMediaTypes.add(MediaType.ALL);
  converter.setSupportedMediaTypes(supportedMediaTypes);
  restTemplate.getMessageConverters().add(converter);  


  ResponseEntity<MyDTO[]> response = restTemplate.getForEntity(urlBase, MyDTO[].class);

  HttpHeaders headers = response.getHeaders();
  URI location = headers.getLocation(); // Has my redirect URI

  response.getBody(); //Always null
Run Code Online (Sandbox Code Playgroud)

我的印象是会自动跟踪302.这个假设我不正确吗?我现在需要选择这个位置并重新申请?

java redirect spring resttemplate

17
推荐指数
2
解决办法
2万
查看次数

Spring RestTemplate遵循cookie重定向

最近我遇到了一个问题,我需要向GET远程服务请求(使用我假设的简单servlet),并返回RestTemplate Too many redirects!.

经过一番调查后,似乎对指定的远程服务发出的第一个请求实际上只是一个带有一些Set-Cookie头文件的302重定向(自身).如果我使用的是"普通"浏览器,它会确认标题,正确设置Cookie,并按照重定向进行正常的200响应.

我发现RestTemplate不接受Set-Cookie标题,所以重定向一遍又一遍.

有没有办法让RestTemplate确认Set-Cookie标题,仅针对当前请求?我最好不要让它保持状态,因为RestTemplate也是从系统的其他部分使用的.

问候

java rest integration spring resttemplate

8
推荐指数
1
解决办法
5358
查看次数

标签 统计

java ×2

resttemplate ×2

spring ×2

integration ×1

redirect ×1

rest ×1