[SPRING] Spring RestTemplate 리디렉션 302
SPRINGSpring RestTemplate 리디렉션 302
나는 봄 레스트 템플릿을 사용하여 로그인 요청을 게시하려고하고있다.
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
LinkedMultiValueMap<String, Object> mvm = new LinkedMultiValueMap<String, Object>();
mvm.add("LoginForm_Login", "login");
mvm.add("LoginForm_Password", "password");
ResponseEntity<String> result = restTemplate.exchange(uriDWLogin, HttpMethod.POST, requestEntity, String.class);
내 ResponseEntity 상태는 302입니다.이 요청에 대한 본문을 가져 오지 않았기 때문에이 요청을 따라 본문 응답을 받고 싶습니다.
18:59:59.170 MAIN [http-nio-8080-exec-83] DEBUG c.d.s.c.DemandwareCtlr - loginToSandbox - StatusResponse - 302
18:59:59.170 MAIN [http-nio-8080-exec-83] DEBUG c.d.s.c.DemandwareCtlr - loginToSandbox - BodyResponse -
이 문제를 해결하기 위해 무엇을 할 수 있습니까?
해결법
-
==============================
1.리디렉션은 요청이 GET 요청 인 경우 자동으로 수행됩니다 (이 응답 참조). POST 요청에서 발생 시키려면 HttpComponentsClientHttpRequestFactory와 같은 다른 요청 팩토리를 사용하고 리디렉션을 따르는 데 필요한 설정이있는 HttpClient를 사용하도록 설정하는 것이 좋습니다 (LaxRedirectStrategy 참조).
리디렉션은 요청이 GET 요청 인 경우 자동으로 수행됩니다 (이 응답 참조). POST 요청에서 발생 시키려면 HttpComponentsClientHttpRequestFactory와 같은 다른 요청 팩토리를 사용하고 리디렉션을 따르는 데 필요한 설정이있는 HttpClient를 사용하도록 설정하는 것이 좋습니다 (LaxRedirectStrategy 참조).
final RestTemplate restTemplate = new RestTemplate(); final HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(); final HttpClient httpClient = HttpClientBuilder.create() .setRedirectStrategy(new LaxRedirectStrategy()) .build(); factory.setHttpClient(httpClient); restTemplate.setRequestFactory(factory);
나는 테스트하지 않았지만 이것이 효과가있다.
from https://stackoverflow.com/questions/32392634/spring-resttemplate-redirect-302 by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 봄 표현 읽기 파일 내용 (0) | 2019.03.17 |
---|---|
[SPRING] Spring @RequestParam 인수가 POST 메서드에서 전달되지 않음 (0) | 2019.03.17 |
[SPRING] JPA와 Hibernate 주석 간의 관계 (0) | 2019.03.17 |
[SPRING] 스프링 웹 애플리케이션 상태 점검 (0) | 2019.03.17 |
[SPRING] 여러 트랜잭션 관리자를 단일 트랜잭션으로 처리 (0) | 2019.03.17 |