@RestController
@RequestMapping("/api/category")
@CrossOrigin("*")
public class CategoryController {
. . .
}
@Configuration에서 통합 설정
첫 번째 방법은 세세하게 컨트롤러마다 설정할 수 있다는 장점이 있지만 Controller가 많아지고, 어차피 오픈하기로 했다면 다소 번거로움이 있다. 이때는 @Controller에서 WebMvcConfigurer를 implements 한 후 addCorsMappings 메서드를 재정의 해서 설정할 수 있다.
다음의 예는 api의 하위 모든 리소스에 대해 모든 origin으로부터의 접속을 허용하는 예이다.
@SpringBootApplication
public class ApsHelperApplication implements WebMvcConfigurer{
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**").allowedOrigins("*");
}
public static void main(String[] args) {
SpringApplication.run(ApsHelperApplication.class, args);
}
}