• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

TestRestTemplate로 테스트 하는데 403 FORBIDDEN이 응답으로 옵니다.

23.01.24 03:20 작성 조회수 1.04k

0

 문제가 되는 코드입니다.

브라우저에서는 200 응답이 정상적으로 오는데 테스트 코드에서만 이런 문제가 생깁니다.

 

의심가는 부분은 user-agent인데 헤더를 설정해주는 부분이 TestRestTemplate에는 없어서 다른 해결 방법이 있는지 질문드립니다.

답변 1

답변을 작성해보세요.

1

강의의 예제를 그대로 따라하셨는데 이런 현상이 발생하는 것인가요? 왜 권한이 없다는 403 에러가 나는지 잘 모르겠습니다. 혹시 문제가 생기는 프로젝트 코드를 github 등에 공유해주시면 제가 받아서 한번 테스트를 해볼 수는 있습니다.

그런데, 말씀하신 user-agent 헤더 부분은 TestRestTemplate에서도 설정이 가능합니다. 조금 코드가 길어지기는 하는데 다음과 같이 사용하시면 됩니다.

        TestRestTemplate rest = new TestRestTemplate();

        HttpHeaders headers = new HttpHeaders();
        headers.add("User-Agent", "Mozilla/5.0");
        HttpEntity request = new HttpEntity(headers);

        ResponseEntity<String> res =
                rest.exchange("http://localhost:8080/hello?name={name}", HttpMethod.GET, request, String.class, "Spring");