백엔드 API 구현한 뒤 다음과 같이 CORS 전역 설정을 하였는데 오류가 났었습니다. 게시글 조회, 등록의 경우 CORS 설정이 잘 되었으나 게시글 수정, 삭제할 때 CORS 설정이 적용이 안되서 OPTIONS 403 에러가 났었습니다.
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*");
}
}
해결 방법
오버라이딩한 메소드 addCorsMappings의 인자값 CorsRegistry를 보면 다음 메소드를 볼 수 있습니다.
그래서 Map의 값으로 주어진 CorsConfiguration을 보면 허용되는 Method의 디폴트 값이 GET, HEAD, POST로 되어 있는 것을 알 수 있습니다. 그래서 게시글 수정(PUT), 삭제(DELETE)할 때 CORS 설정을 적용해주려면 따로 추가해줘야만 합니다.
코드
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods(
HttpMethod.GET.name(),
HttpMethod.HEAD.name(),
HttpMethod.POST.name(),
HttpMethod.PUT.name(),
HttpMethod.DELETE.name());
}
}
'Programming > Spring Boot' 카테고리의 다른 글
[SpringBoot] 스크롤 API (Offset vs Keyset-Filtering) (0) | 2024.03.31 |
---|---|
[SpringBoot] Logback 파일과 Docker 볼륨 연동하기 (0) | 2024.02.18 |
Circular view path [error] 원인과 해결방법 (0) | 2023.03.26 |
Lombok 정리 (0) | 2023.01.10 |