springboot 크로스 도 메 인 문제 해결
3416 단어 자바springboot크로스 필드
package com.ranxx.conf;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
/**
*
*
* @author mousejoo
*/
@Configuration
public class CorsConfig {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*"); // 1
corsConfiguration.addAllowedHeader("*"); // 2
corsConfiguration.addAllowedMethod("*"); // 3 (post、get )
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig()); // 4
return new CorsFilter(source);
}
}
혹시
@Configuration
public class GlobalCorsConfig {
@Bean
public CorsFilter corsFilter() {
//1. CORS
CorsConfiguration config = new CorsConfiguration();
//
config.addAllowedOrigin("*");
// Cookie
config.setAllowCredentials(true);
// ( )
config.addAllowedMethod("*");
// ( )
config.addAllowedHeader("*");
// ( )
config.addExposedHeader("content-type");
//2.
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
configSource.registerCorsConfiguration("/**", config);
//3. CorsFilter.
return new CorsFilter(configSource);
}
}
2. 주석 사용 (부분 크로스)
@RequestMapping("/preUser")
@CrossOrigin("http://localhost:8080")
public Map preUser(){
Map map = new HashMap();
map.put("preUser","success");
return map;
}
또는 컨트롤 러 (@ Controller) 에 주 해 를 사용 합 니 다 @ CrossOrigin:
@RestController
@CrossOrigin(origins = "http://localhost:8080", maxAge = 3600)
public class CorsController {
@RequestMapping("/preUser")
public Map preUser(){
Map map = new HashMap();
map.put("preUser","success");
return map;
}
}
3. 응답 헤드 수 동 설정 (부분 크로스)
@RequestMapping("/hello")
@ResponseBody
public String index(HttpServletResponse response){
response.addHeader("Access-Control-Allow-Origin", "http://localhost:8080");
return "Hello World";
}
Access - Control - Allow - Origin 은 어떤 원시 도 메 인 을 크로스 도 메 인 으로 접근 할 수 있 는 지 표시 합 니 다.
Access - Control - Allow - Credentials 는 클 라 이언 트 가 사용자 증 거 를 가 져 올 수 있 는 지 여 부 를 표시 합 니 다.
Access - Control - Allow - methods 는 어떤 크로스 도 메 인 요청 을 허용 하 는 제출 방식 을 표시 합 니 다.(예: GET/POST)
Access - Control - Expose - Headers 는 클 라 이언 트 에 게 어떤 머리 정 보 를 노출 할 수 있 는 지 를 표시 합 니 다.
Access - Control - Max - age 는 예비 검사 요청 [Preflight Request] 의 최대 캐 시 시간 을 표시 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.