springboot 에서 어떻게 cors 프로 토 콜 을 통 해 크로스 필드 문 제 를 해결 합 니까?

1.앞 뒤 가 분 리 된 프로젝트 에 있어 전단 프로젝트 와 백 엔 드 프로젝트 가 두 개의 서로 다른 도 메 인 에 배치 되면 반드시 도 메 인 문 제 를 일 으 킬 것 이다.
크로스 도 메 인 문제 에 대해 우리 가 가장 먼저 생각 할 수 있 는 해결 방안 은 바로 jsonp 이 고 예전 에 크로스 도 메 인 문 제 를 처리 할 때 나 도 대체적으로 이렇게 처리 했다.
그러나 jsonp 방식 도 부족 합 니 다.전단 이 든 백 엔 드 든 쓰기 방법 은 우리 의 일반적인 ajax 쓰기 와 달리 백 엔 드 도 상응 한 변경 이 필요 합 니 다.또한 jsonp 방식 은 get 요청 방식 으로 만 파 라 메 터 를 전달 할 수 있 습 니 다.물론 다른 부족 한 점도 있 습 니 다.이에 대해 저 는 jsonp 방식 으로 도 메 인 문 제 를 해결 하고 인터넷 에서 다른 방식 을 찾 지 않 았 습 니 다.즉,본 고 는 주로 springboot 에서 cors 협 의 를 통 해 도 메 인 문 제 를 해결 하고 자 합 니 다.
2.Cors 협의
H5 의 새로운 기능:Cross-Origin Resource Sharing(크로스 도 메 인 자원 공유).이 를 통 해 우리 개발 자(주로 백 엔 드 개발 자)는 자원 이 크로스 도 메 인 에 접근 할 수 있 는 지 여 부 를 결정 할 수 있 습 니 다.
cors 는 w3c 표준 으로 브 라 우 저(현재 ie8 이하 지원 되 지 않 음)가 서로 다른 서버 에서 xmlHttpRequest 요청 을 할 수 있 도록 합 니 다.저 희 는 ajax 를 계속 사용 하여 접근 을 요청 할 수 있 습 니 다.
구체 적 으로 cors 프로 토 콜 에 관 한 글 은https://www.jb51.net/article/83093.htm이 글 을 참고 하여 상당히 잘 말 할 수 있 습 니 다.
3.springboot 에서 어떻게 cors 프로 토 콜 을 통 해 크로스 필드 문 제 를 해결 합 니까?
springmvc 4.2 버 전 은 cors 에 대한 지원 을 추 가 했 습 니 다.
현재 제 가 하고 있 는 프로젝트 는 기본적으로 spring boot 로 개발 되 었 기 때문에 저 는 spring boot 에 붙 여 사용 하고 있 습 니 다.

@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurerAdapter{
 @Override
 public void addCorsMappings(CorsRegistry registry) {
  registry.addMapping("/**");
 }
addMapping 에서 우리 의 경 로 를 설정 할 수 있 습 니 다./**모든 경 로 를 대표 합 니 다.
물론 다른 속성 도 수정 할 수 있 습 니 다.

@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurerAdapter{
 @Override
 public void addCorsMappings(CorsRegistry registry) {
   registry.addMapping("/api/**")
   .allowedOrigins("http://192.168.1.97")
   .allowedMethods("GET", "POST")
   .allowCredentials(false).maxAge(3600);
 }
상기 두 가 지 는 모두 전역 설정 을 위 한 것 입 니 다.더 세밀 하 게 하려 면@CrossOrigin 이라는 주 해 를 controller 클래스 에서 사용 하 십시오.

@CrossOrigin(origins = "http://192.168.1.97:8080", maxAge = 3600)
@RequestMapping("rest_index")
@RestController
public class IndexController{
이렇게 하면 이 controller 의 모든 방법 을 http:19.168.1.97:8080 에서 요청 한 것 을 처리 할 수 있 습 니 다.
총결산
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 spring boot 에서 어떻게 cors 협 의 를 통 해 크로스 도 메 인 문 제 를 해결 하 는 지 여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 여러분 에 게 답 할 것 입 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기