똑같은 삽질은 2번 하지 말자

Spring Boot 개념다지기 No.14 (CORS) 본문

Spring/Spring Boot

Spring Boot 개념다지기 No.14 (CORS)

곽빵 2020. 5. 3. 14:13

SOP과 CORS

  • Single-Origin Policy (같은 오리진에만 요청을 보낼 수 있다.)
  • Cross-Origin Resource Sharing(서로 다른 오리진끼리도 보낼 수 있게한다.)

예전에 이 오류가 생겨서 JSONP로? 보낸적이 있다.

 

SpringBoot에서 설정하는 방법은 간단하게 @CrossOrigin으로 가능하다.

@RestController
public class SampleController {
	@CrossOrigin(origins ="http:localhost:1212") // 1212포트 cors
	@GetMapping("hello")
	public String hello() {
		return "hello";
	}
}

 

이렇게 해당 맵핑에만 설정할 수도 있고 Controller로 자체에도 설정할 수 있고,

만약 좀더 넓은 범위에 설정하고 싶다면 WebCofiguration을 이용해서

 

@Configuration // 기존 기능들을 다 사용하면서 추가로 설정하는거
public class WebConfig implements WebMvcConfigurer{
	@Override
	public void addCorsMappings(CorsRegistry registry) {
		registry.addMapping("/**")
				.allowedOrigins("http://localhost:1212");
	}
}

글로벌 설정이 가능하다!

https://docs.spring.io/spring/docs/5.0.7.RELEASE/spring-framework-reference/web.html#mvc-cors

 

Web on Servlet Stack

This part of the reference documentation covers support for Servlet stack, WebSocket messaging that includes raw WebSocket interactions, WebSocket emulation via SockJS, and pub-sub messaging via STOMP as a sub-protocol over WebSocket. 4.1. Introduction The

docs.spring.io

참고문서

 

 

Comments