본문 바로가기

springboot

[vue.js-springboot] todoApp

 

위와 같은 todoApp을 만들어서 created에서 

 

이런식으로 받아오려고 시도했지만 No 'Access-Control-Allow-Origin' 에러가 떴다. 

에러화면

 

Controller에 @CrossOrigin 어노테이션을 붙여서 해결했다. 

@CrossOrigin 어노테이션은 모든 도메인의 모든 요청방식에 대해 허용하겠다는 뜻이 된다. 

 

 

하지만 Controller가 많아졌을 때 그만큼 @CrossOrigin을 매번 추가해야하나? 싶어서 더 알아봤더니

WebConfig를 만들어서 지정한 origin으로부터 온 요청은 모두 허용하게 할 수 있는 방법을 찾았다. 

 

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("http://localhost:3000");
    }
}

 

하지만 보안상으로 이게 맞는 해결 방법인지는 모르겠다.