카테고리 없음
WebConfig
한바다주인공
2024. 8. 26. 19:49
☑️WebConfig란?
WebConfig파일은 웹 구성에 대해 지정하는 내용이 담겨 있는 설정 파일이다.
스프링부트에서는 WebMvcConfigurer 인터페이스를 구현하여 WebConfig 파일을 작성한다.
'WebConfig'클래스는 보통 '@Configuration'어노테이션을 사용하여 설정 클래스임을 명시한다.
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") //front 포트로 가져오는 뒤 api url 주소 모두 허용
.allowedOrigins("http://localhost:3000")
//`http://localhost:3000`에서 오는 요청만 허용,'Orgin'은 웹페이지를 제공하는 서버의 도메인
//`http://localhost:3000`에서 실행될 때만 이 서버의 리소스에 접근할 수 있도록 허용
.allowedMethods("GET","POST","PUT","DELETE","OPTIONS")
//DB와 주고받고 삭제하고 수정 등 모두 허용 ,허용할 HTTP메서드 지정
.allowedHeaders("*");
//쿠키가 세션과 같은 자격 허용
}
}
[코드 해석]
Spring Framework에서 CORS(Cross-Orgin Resource Sharing) 설정을 구성하는 코드.
CORS는 웹애플리케이션에서 다른 도메인에 있는 리소스에 접근할 때 발생할 수 있는
보안 문제를 해결하는 방법으로 위 코드는 특정 도메인에서만 리소스에 접근할 수 있도록
허용하고, 사용할 수 있는 HTTP메서드를 제한하는 역할.
위 설정은 `http://localhost:3000`에서 실행되는 프론트엔드 애플리케이션이
'GET','PUT','POST','DELETE','OPTIONS' 메서드를 사용해 백엔드 서버에 요청을 보낼 수 있게 하며
또한, 이 요청에 쿠키와 같은 자격증명을 포함하는 것이 허용