@CrossOrigin的使用

server/2024/9/23 2:13:51/

@CrossOrigin的使用

  • 1.使用场景
  • 2.用法
  • 3.示例
    • 3.1 标注在方法上
    • 3.2 标注在类上
  • 3.属性配置

1.使用场景

  • 前后端分离应用:当前端应用和后端服务部署在不同的域或端口上时,前端应用尝试向后端服务发起请求时,可能会遇到同源策略的限制。这时,后端服务可以使用@CrossOrigin注解来允许这些跨域请求。
  • 微服务架构:在微服务架构中,不同的服务可能部署在不同的域或端口上。服务之间或前端应用与后端服务之间的通信可能需要跨域。
  • API开放平台:如果你正在开发一个API开放平台,并希望允许第三方开发者从他们的应用中调用你的API,那么你需要确保你的API支持跨域请求。

2.用法

@CrossOrigin 可以标注在方法或类上。当标注在类上时,表示该类中的所有响应都支持跨域请求。当标注在方法上时,仅表示该方法的响应支持跨域请求。

3.示例

3.1 标注在方法上

java">@RestController  
public class MyController {  @CrossOrigin(origins = "http://example.com")  @GetMapping("/myEndpoint")  public String myEndpoint() {  return "Hello, World!";  }  
}

只有http://example.com域的请求才能访问/myEndpoint端点

3.2 标注在类上

java">@RestController  
@CrossOrigin(origins = {"http://example.com", "http://anotherexample.com"})  
public class MyController {  @GetMapping("/myEndpoint")  public String myEndpoint() {  return "Hello, World!";  }  // 该类中的其他方法也将支持来自http://example.com和http://anotherexample.com的跨域请求  
}

MyController中的所有方法都允许来自http://example.comhttp://anotherexample.com的跨域请求。

3.属性配置

@CrossOrigin 注解有多个属性,例如:

origins:允许访问的源列表。
methods:允许访问的HTTP方法(如GET, POST等)。
allowedHeaders:允许携带的请求头。
maxAge:预检请求的缓存时间。
allowCredentials:是否允许发送凭证(如cookies, HTTP认证或客户端SSL证明)。


http://www.ppmy.cn/server/8307.html

相关文章

python系列教程222——模块导入

朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享…

Swift网络编程

Swift网络编程涉及到一些重要的方面,包括URLSession的使用、数据解析(JSON/XML)以及网络请求的封装与管理。下面将详细介绍这三个方面的内容。 1.URLSession的使用: URLSession是Swift中用于网络请求的核心类。它提供了一系列方法来创建和管…

隐私计算DataTrust:从产品需求到工程架构实践

继上期介绍了新监管形势下的隐私技术及数据共享合规设计的思考,本期将接着为大家讲解,国内唯一一个获得工信部三项隐私计算测评的产品DataTrust,在隐私计算领域从产品需求到工程架构的实践之路。 随着数据作为第五大生产要素被提出,“数据流通”的社会价值已形成广泛共识,…

快速掌握Spring监控(Spring Boot admin)

监控 监控可视化监控平台Admin底层逻辑info 自定义端点 监控 监控的作用: 监控服务状态是否宕机监控服务运行指标(内存,虚拟机,线程,请求等)监控日志管理服务(服务下线) 监控的实…

算法 第46天 动态规划8

139 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 输入: s “leetcode”, wordDict [“…

文本生成8K、360度全景世界!Model 3重磅发布

知名生成式AI平台Blockade Labs在官网重磅发布了全新模型——Model 3。 与Model 2相比,Model 3的生成效果实现质的提升,原生支持超高清8192x4096分辨率,增强了文本提示器能更好的描述生成世界,并且大幅度减少了生成世界的灰度值&…

XiaodiSec day018 Learn Note 小迪渗透学习笔记

XiaodiSec day018 Learn Note 小迪渗透学习笔记 记录得比较凌乱,不尽详细 day18 主要内容 asp 安全 asp 中在后续中较少遇到 asp 相对最简单,最没用 在老网站中用到 asp ISS 与 asp 与 php 与 java 对比,asp 占比最低 windows iis a…

hadoop编程之词频统计

数据集实例 java代码,编程 实例 我们要先创建三个类分别为WordCoutMain、WordCoutMapper、WordCoutReducer这三个类 对应的代码如下 WordCoutMain import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Pat…