說明:項目前後端分離會用到跨域訪問。
springmvc4.3.4跨域訪問通過註解@CrossOrigin(origins = "*")開啓,此註解可應用於類或者方法上。
經過測試WebUploader 0.1.5跨域上傳這樣設置是可行的
以下是註解屬性詳解:
@Target({ ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CrossOrigin {
/**
* 屬性在4.3.4版本已刪除,推薦使用{@link CorsConfiguration#applyPermitDefaultValues}
*/
@Deprecated
String[] DEFAULT_ORIGINS = { "*" };
/**
*屬性在4.3.4版本已刪除,推薦使用 {@link CorsConfiguration#applyPermitDefaultValues}
*/
@Deprecated
String[] DEFAULT_ALLOWED_HEADERS = { "*" };
/**
* 屬性在4.3.4版本已刪除,推薦使用 {@link CorsConfiguration#applyPermitDefaultValues}
*/
@Deprecated
boolean DEFAULT_ALLOW_CREDENTIALS = true;
/**
* 屬性在4.3.4版本已刪除,推薦使用 {@link CorsConfiguration#applyPermitDefaultValues}
*/
@Deprecated
long DEFAULT_MAX_AGE = 1800;
/**
* 同origins屬性一樣
*/
@AliasFor("origins")
String[] value() default {};
/**
* 所有支持域的集合,例如"http://domain1.com"。
* <p>這些值都顯示在請求頭中的Access-Control-Allow-Origin
* "*"代表所有域的請求都支持
* <p>如果沒有定義,所有請求的域都支持
* @see #value
*/
@AliasFor("value")
String[] origins() default {};
/**
* 允許請求頭列表,默認*,都支持
*/
String[] allowedHeaders() default {};
/**
* 響應頭中允許訪問的header,默認爲空
*/
String[] exposedHeaders() default {};
/**
* 請求支持的方法,例如"{RequestMethod.GET, RequestMethod.POST}"}。
* 默認支持RequestMapping中設置的方法
*/
RequestMethod[] methods() default {};
/**
* 是否允許cookie隨請求發送,使用時必須指定具體的域
*/
String allowCredentials() default "";
/**
* 預請求的結果的有效期,默認30分鐘
*/
long maxAge() default -1;
}