码迷,mamicode.com
首页 > 编程语言 > 详细

@CrossOrigin springboot里面使用跨域

时间:2019-05-23 12:06:40      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:ofo   val   代码   control   持续时间   ring   tco   集合   dom   

跨域是一个比较常见的功能了,看看springboot的注解实现

@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>这些值都显示在请求头中的Access-Control-Allow-Origin
 * "*"代表所有域的请求都支持
 * <p>如果没有定义,所有请求的域都支持
 * @see #value
 */
@AliasFor("value")
String[] origins() default {};

/**
 * 允许请求头重的header,默认都支持
 */
String[] allowedHeaders() default {};

/**
 * 响应头中允许访问的header,默认为空
 */
String[] exposedHeaders() default {};

/**
 * 请求支持的方法,例如"{RequestMethod.GET, RequestMethod.POST}"}。
 * 默认支持RequestMapping中设置的方法
 */
RequestMethod[] methods() default {};

/**
 * 是否允许cookie随请求发送,使用时必须指定具体的域
 */
String allowCredentials() default "";

/**
 * 预请求的结果的有效期,默认30分钟
 */
long maxAge() default -1;

}

@RestController
//实现跨域注解
//origin=""代表所有域名都可访问
//maxAge飞行前响应的缓存持续时间的最大年龄,简单来说就是Cookie的有效期 单位为秒
//若maxAge是负数,则代表为临时Cookie,不会被持久化,Cookie信息保存在浏览器内存中,浏览器关闭Cookie就消失
@CrossOrigin(origins = "
",maxAge = 3600)
public class UserController {br/>@Resource
private IUserFind userFind;

@GetMapping("finduser")
public User finduser(@RequestParam(value="id") Integer id){
    //此处省略相应代码
}

}

@CrossOrigin springboot里面使用跨域

标签:ofo   val   代码   control   持续时间   ring   tco   集合   dom   

原文地址:https://blog.51cto.com/chenhva/2398932

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!