Swagger UI를 배포한 후, 사이트에서 API를 호출하려고 할 때 CORS(Cross-Origin Resource Sharing) 에러가 발생했습니다. CORS는 브라우저가 서로 다른 도메인 간의 리소스 공유를 제한하는 보안 정책입니다. 예를 들어, https://your_domain에서 API를 호출하는데 그 API가 다른 도메인에 위치하고 있으면, 브라우저는 보안상 그 요청을 차단합니다.
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
#### .allowedOrigins("https://your_domain") // CORS를 허용할 도메인 설정
.allowedMethods("GET", "POST", "PUT", "DELETE") // 허용할 HTTP 메서드 설정
.allowedHeaders("*") // 모든 헤더 허용
.allowCredentials(true); // 인증 정보(쿠키 등) 허용
}
CORS는 브라우저 보안 정책의 일환으로, 도메인 간 리소스 요청을 제어합니다. 이 설정을 통해 배포한 Swagger 사이트에서 발생하는 CORS 문제를 해결하고, 특정 도메인에서만 API 요청을 허용할 수 있습니다. 필요한 도메인과 메서드를 선택적으로 설정함으로써 보안성을 유지하면서도 정상적인 요청을 처리할 수 있게 됩니다.