프로젝트를 진행하며 CORS 이슈에 직면해서 해결한 바가 있기때문에, 공통적인 자원들에 CORS 를 적용하는 법은 알고 있다
CORS
SOP : Single Origin Policy
CORS : Cross-Origin Resource Sharing 으로 SOP 를 우회하기 위함
Origin
http https 등의 URI 스키마 + hostname + 포트 를 조합한 것
SOP 는 하나의 오리진이 다른 오리진을 호출할 수 없다는 개념
스프링 부트에서 해야할 일은 @CrossOrigin 설정
- 컨트롤러의 메서드에 @CrossOrigin 을 선언, origins 속성에 허용할 Origin 을 기입한다.
@RestController
public class SampleController {
@CrossOrigin(origins = "http://localhost:18080")
@GetMapping("/hello")
public Hello hello(){
Hello hello = new Hello();
hello.setPrefix("hey, ");
hello.setName("soomin");
return hello;
}
}
공통적으로 적용할 CORS 에 대해 해결했던 이슈에 대한 경험
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/hello")
.allowedOrigins("http://localhost:18080");
}
}
'SpringBoot' 카테고리의 다른 글
Spring Data JPA 개요 (0) | 2020.11.08 |
---|---|
MySQL,PostgreSQL (0) | 2020.11.07 |
Spring HATEOAS (0) | 2020.11.07 |
ExceptionHandling (0) | 2020.11.06 |
HTMLUnit (0) | 2020.11.06 |