springboot 에서 어떻게 cors 프로 토 콜 을 통 해 크로스 필드 문 제 를 해결 합 니까?
크로스 도 메 인 문제 에 대해 우리 가 가장 먼저 생각 할 수 있 는 해결 방안 은 바로 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 협 의 를 통 해 크로스 도 메 인 문 제 를 해결 하 는 지 여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 여러분 에 게 답 할 것 입 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.