spring-web-4.3跨域@CrossOrigin詳解

說明:項目前後端分離會用到跨域訪問。

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;

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章