TIL

9/19

iksadnorth 2023. 9. 19. 22:56

👣 개요

오늘은 백엔드 API 서버와 프론트엔드 웹 서버를 합쳐서 테스트해보는 날이었다.
cors에 대해 이해하긴 했지만 테스트 방법이 따로 없어서 우선 CORS 설정을 하지 않은 채로
프론트엔드로 전달했다. 하지만 당연하게도 CORS 문제가 터졌고 이를 해결하기 위해 
처음엔 Postman으로 직접 테스트를 하면서 디버깅했다.

같은 기기 내에서 postman을 사용하면 Origin이 같기 때문에 문제가 발생하지 않는다는
이야기를 듣고 API 서버를 배포한 후에 로컬에서 postman으로 테스트하기로 했었다.

postman으로는 문제가 없었고 때문에 해결되었다고 생각한 API 서버를 다시 React 팀에게 
전달했다. 하지만 또 문제가 발생했고 다시 문제를 해결해야 했었다.

아예 테스트 환경을 프론트엔드 팀과 같게 npm을 설치하고 직접 웹 서버를 구동해서 테스트를 했다.
문제는 Preflight로서 들어오는 요청을 막는 Spring Security 설정 때문에 였던 것으로 보였다.

사실 프론트 팀의 결과물을 이용해서 테스트하는 것은 자동화하기도 어렵고 준비해야 할 것이 많기 때문에 
다른 방법을 찾으려고 했다. 

그에 대한 결과들은 다음과 같다.

 

OKKY - 스프링 백엔드 개발자가 CORS를 테스트하는 방법

위와 같은 짤의 내용처럼 CORS는 프론트엔드 개발자를 괴롭히는 주범이다.CORS는 프론트엔드 개발자가 대응할 수 있는 방안은 없으며 백엔드 개발자가 처리해야한다.그렇다면 프론트엔드 애플리

okky.kr

가장 최선의 방법은 cURL로 직접 OPTIONS 메서드와 ORIGIN 헤더를 조작해서 테스트하는 방법이다.
아직 이것을 테스트 코드로 구현해보지 못했지만 
이러한 점을 토대로 WebMvcTest 환경에서 테스트해볼 계획이다.

'TIL' 카테고리의 다른 글

9/21  (0) 2023.09.21
9/20  (0) 2023.09.20
9/18  (0) 2023.09.18
WIL - 9/11 ~ 9/17  (0) 2023.09.17
9/16  (0) 2023.09.16