使用@CrossOrigin注解解决微服务项目跨域问题
实现跨域注解
origin="*"代表所有域名都可访问
maxAge飞行前响应的缓存持续时间的最大年龄,简单来说就是Cookie的有效期 单位为秒
若maxAge是负数,则代表为临时Cookie,不会被持久化,Cookie信息保存在浏览器内存中,浏览器关闭Cookie就消失
第一种方法不需要填写参数
@CrossOrigin
第二种方法,可以填写参数
@CrossOrigin(origins = "*", maxAge = 3600)
第一种用法,在Controller类上使用
@CrossOrigin(origins = "*", maxAge = 3600)
@RestController
public class CatalogController {
@Reference
CatalogService catalogService;
/**
* 一级类目
*/
@RequestMapping("getCatalogone")
public List<PmsBaseCatalog1> getCatalogone(){
List<PmsBaseCatalog1> catalogone = catalogService.getCatalogone();
return catalogone;
}
/**
* 二级类目
*/
@RequestMapping("getCatalogtwo")
public List<PmsBaseCatalog2> getCatalogtwo(){
List<PmsBaseCatalog2> catalogtwo = catalogService.getCatalogtwo();
return catalogtwo;
}
}
第二种用法,在映射方法上使用
@RestController
public class CatalogController {
@Reference
CatalogService catalogService;
/**
* 一级类目
*/
@CrossOrigin(origins = "*", maxAge = 3600)
@RequestMapping("getCatalog1")
public List<PmsBaseCatalog1> getCatalogone(){
List<PmsBaseCatalog1> catalogone = catalogService.getCatalogone();
System.out.println("一级类目方法被调用了");
return catalogone;
}
/**
* 二级类目
*/
@CrossOrigin(origins = "*", maxAge = 3600)
@RequestMapping("getCatalog2")
public List<PmsBaseCatalog2> getCatalogtwo(){
List<PmsBaseCatalog2> catalogtwo = catalogService.getCatalogtwo();
return catalogtwo;
}
}
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »