반응형
HttpStatus가 302 인 경우 브라우저에서는 해당 페이지로 리다이렉트 되어 화면이 처리된다.
restTemplate으로 요청한 응답 결과의 HttpStatus가 302 인 경우는 해당 페이지로 리다이렉트 되지 않고 응답 결과만 반환받는다.
하지만 redirect된 결과로 응답을 받을 수 있는 기능이 있다.
restTemplate에서 requestFactory를 apacheml httpclient를 사용하는 경우 지원되는 기능이다.
다음처럼 HttpClientBuilder에 redirectStrategy 설정을 하면 요청된 결과가 302인 경우 해당 페이지로 리다이렉트 된 결과를 반환해준다.
RestTemplate restTemplate = new RestTemplate();
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
HttpClient httpClient = HttpClientBuilder.create()
.setRedirectStrategy(new LaxRedirectStrategy())
.build();
factory.setHttpClient(httpClient);
restTemplate.setRequestFactory(factory);
okHttp를 requestFactory로 사용하는 경우 redirect 처리가 기본 설정이다.
302 redirect를 직접 처리할지 아니면 라이브러리에서 제공하는 설정을 통해 처리를 할지는 개발하면서 상황에 따라 결정해야 한다.
반응형
'Study > Java' 카테고리의 다른 글
Spring Data R2DBC 써보기 (0) | 2019.12.11 |
---|---|
Spring Boot 2.2 Release Notes (0) | 2019.10.18 |
JDK 13 New Features (0) | 2019.09.25 |
thymeleaf-layout-direct 성능 문제 (groovy 성능 문제) (0) | 2019.09.24 |
STS 4.4.0 (eclipse 2019-09) 에서 Junit 5 실행 시 PreconditionViolationException NoClassDefFoundError 에러 발생하는 경우 (0) | 2019.09.20 |
Spring Data JDBC로 Spring Data Jpa를 대체할 수 있을까? (0) | 2019.07.28 |
JDK 12 New Features (0) | 2019.07.18 |
Spring Boot servlet filter 사용하기 (0) | 2019.07.03 |
RestTemplate 응답 log 확인하기 (0) | 2019.06.20 |
Asciidoc 문서 작성을 위한 프로젝트 경로 설정 팁 (0) | 2019.06.19 |