최근에 새롭게 시작한 프로젝트에서 api를 호출하는데 200OK 오류가 발생하였다. Spring Eurka와 Spring gateway를 도입하면서 처음 보는 오류라 적잖게 당황하였다..
이 오류를 보고 열심히 찾아본 결과,, CORS 문제 즉 Spring Gateway에서 설정된 도메인 이외에는 요청을 차단 하기 때문에, 요청이 차단되어 200OK 에러가 발생한다.
이문제를 해결하기 위해 Spring Gateway의 CORS를 허용하기 위해 yml 파일에서 설정을 추가하도록 했다.
spring:
cloud:
gateway:
default-filters:
- GlobalFilter
- DedupeResponseHeader=Access-Control-Allow-Credentials Access-Control-Allow-Origin
globalcors:
cors-configurations:
'[/**]':
allowedOrigins: 'http://localhost:3000'
allow-credentials: true
allowedHeaders: '*'
allowedMethods:
- PUT
- GET
- POST
- DELETE
- OPTIONS
이렇게 globalcors에 url, header, method을 구분하여 설정할 수 있다.