溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

@CrossOrigin springboot里面使用跨域

發(fā)布時(shí)間:2020-06-26 15:27:54 來源:網(wǎng)絡(luò) 閱讀:941 作者:lifeneedyou 欄目:編程語言

跨域是一個(gè)比較常見的功能了,看看springboot的注解實(shí)現(xiàn)

@Target({ ElementType.METHOD, ElementType.TYPE })

@Retention(RetentionPolicy.RUNTIME)

@Documented
public @interface CrossOrigin {

String[] DEFAULT_ORIGINS = { "*" };

String[] DEFAULT_ALLOWED_HEADERS = { "*" };

boolean DEFAULT_ALLOW_CREDENTIALS = true;

long DEFAULT_MAX_AGE = 1800;

/**
 * 同origins屬性一樣
 */
@AliasFor("origins")
String[] value() default {};

/**
 * 所有支持域的集合,例如"http://domain1.com"。
 * <p>這些值都顯示在請(qǐng)求頭中的Access-Control-Allow-Origin
 * "*"代表所有域的請(qǐng)求都支持
 * <p>如果沒有定義,所有請(qǐng)求的域都支持
 * @see #value
 */
@AliasFor("value")
String[] origins() default {};

/**
 * 允許請(qǐng)求頭重的header,默認(rèn)都支持
 */
String[] allowedHeaders() default {};

/**
 * 響應(yīng)頭中允許訪問的header,默認(rèn)為空
 */
String[] exposedHeaders() default {};

/**
 * 請(qǐng)求支持的方法,例如"{RequestMethod.GET, RequestMethod.POST}"}。
 * 默認(rèn)支持RequestMapping中設(shè)置的方法
 */
RequestMethod[] methods() default {};

/**
 * 是否允許cookie隨請(qǐng)求發(fā)送,使用時(shí)必須指定具體的域
 */
String allowCredentials() default "";

/**
 * 預(yù)請(qǐng)求的結(jié)果的有效期,默認(rèn)30分鐘
 */
long maxAge() default -1;

}

@RestController
//實(shí)現(xiàn)跨域注解
//origin=""代表所有域名都可訪問
//maxAge飛行前響應(yīng)的緩存持續(xù)時(shí)間的最大年齡,簡(jiǎn)單來說就是Cookie的有效期 單位為秒
//若maxAge是負(fù)數(shù),則代表為臨時(shí)Cookie,不會(huì)被持久化,Cookie信息保存在瀏覽器內(nèi)存中,瀏覽器關(guān)閉Cookie就消失
@CrossOrigin(origins = "
",maxAge = 3600)
public class UserController {@Resource
br/>@Resource

@GetMapping("finduser")
public User finduser(@RequestParam(value="id") Integer id){
    //此處省略相應(yīng)代碼
}

}

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI