[Spring Boot] CORS 해결하기 Cross-Origin Resource Sharing 에러 OncePerRequestFilter

2023. 7. 10. 10:31·프로그래밍 일기/Java & Spring
반응형
버전정보

Java 11

Spring Boot 2.7.13


CorsFilter.java
package com.example.testapi.config.filter;

import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;

@Component
public class CorsFilter extends OncePerRequestFilter {
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
            throws ServletException, IOException {
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "GET, POST");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Headers", "X-ACCESS_TOKEN, Access-Control-Allow-Origin, Authorization, Origin, x-requested-with, Content-Type, Content-Range, Content-Disposition, Content-Description");
        response.setHeader("Access-Control-Allow-Credentials", "true");

        filterChain.doFilter(request, response);
    }
}

 

경로는 위와 같이 기본적으로 생성되는 파일 경로의 하위 레벨에 두면 됩니다.

ex) spring boot 세팅 시 com.example.testapi 가 기본으로 생성되며 그 하위 폴더에 config 파일을 설정한다.

일반적으로 config 폴더 아래 filter나 interceptor같은 java파일이 들어갑니다.

 

OncePerRequestFilter

이전에는 OncePerRequestFilter가 아니라 Filter를 상속 받았는데, Filter가 두 번 실행되는 형상이 있어 최근에는 OncePerRequestFilter를 사용하고 있습니다.

반응형
저작자표시 (새창열림)

'프로그래밍 일기 > Java & Spring' 카테고리의 다른 글

[Spring Boot] 이메일 발송 로직 구현, 인증번호 보내기  (1) 2023.07.10
[Spring Boot] RestTemplate 사용법 서버 간 통신 getForEntity, postForEntity  (0) 2023.07.10
카카오 로그인 API 사용 방법 nuxt3, spring boot  (2) 2023.07.10
[Spring Boot] 스프링부트 파라미터 받기  (0) 2023.07.07
[Spring Boot] Mybatis 쿼리 로그 찍기 log4j2 설정 방법, logging level 설명  (0) 2023.07.05
'프로그래밍 일기/Java & Spring' 카테고리의 다른 글
  • [Spring Boot] 이메일 발송 로직 구현, 인증번호 보내기
  • [Spring Boot] RestTemplate 사용법 서버 간 통신 getForEntity, postForEntity
  • 카카오 로그인 API 사용 방법 nuxt3, spring boot
  • [Spring Boot] 스프링부트 파라미터 받기
MakeMe
MakeMe
제가 포스팅한 글 중 잘못된 부분이 있으면 알려주세요!
  • MakeMe
    Developer blog
    MakeMe
    • 모든 글 (71)
      • 프로그래밍 일기 (57)
        • Java & Spring (21)
        • Python & Flask (3)
        • Linux (12)
        • Front-End (10)
        • DB & SQL (6)
        • Git (3)
        • IDE (2)
      • 자격증 (7)
        • 정보처리기능사 (2)
        • SQLD (1)
        • SW개발_L5 (1)
        • AWS (3)
      • 독립일기 (7)
        • 중소기업청년대출 (7)
  • 인기 글

  • 태그

    자바환경변수
    중기청서류
    flask
    넉스트
    자바
    스프링
    건강보험자격득실확인서
    고용보험내역서
    nuxt3
    Spring
    AWS
    중소기업청년대출
    java
    nuxt
    스프링부트
    DBeaver
    Vue
    springboot
    flask 세팅
    젠킨스 우분투 설치
    인텔리제이
    자동배포설정
    중기청필수서류
    MYSQL
    psql
    중기청후기
    젠킨스 자동 배포
    IntelliJ
    DB
    중기청필요서류
  • hELLO· Designed By정상우.v4.10.1
MakeMe
[Spring Boot] CORS 해결하기 Cross-Origin Resource Sharing 에러 OncePerRequestFilter
상단으로

티스토리툴바