Spring Boot 如何配置 CORS 支持

这篇具有很好参考价值的文章主要介绍了Spring Boot 如何配置 CORS 支持。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring Boot 如何配置 CORS 支持

跨域资源共享(CORS)是一种重要的网络安全策略,用于限制浏览器在不同域之间的HTTP请求。Spring Boot提供了简单而强大的方法来配置CORS支持,以确保您的应用程序能够与其他域的资源进行安全交互。本文将介绍如何在Spring Boot中配置CORS支持,并附带相应的示例代码。

Spring Boot 如何配置 CORS 支持,Java 教程,spring boot,后端,java

什么是CORS?

CORS是一种网络安全机制,用于控制跨源HTTP请求的访问权限。在默认情况下,浏览器会禁止跨源请求,以防止潜在的安全风险。CORS通过在HTTP响应头中添加特定的标头来启用跨域请求,这些标头指示浏览器允许请求来自不同源的资源。通过配置CORS支持,您可以明确指定哪些源可以访问您的应用程序的资源。

Spring Boot中的CORS配置

Spring Boot提供了一种简单的方式来配置CORS支持,您只需在应用程序的配置文件中添加相应的属性即可。以下是一些常用的CORS配置属性:

  • spring.mvc.cors.allowed-origins:允许跨域请求的来源。您可以指定一个或多个域,例如 https://example.com*(表示允许所有来源)。

  • spring.mvc.cors.allowed-methods:允许的HTTP方法,例如 GET、POST、PUT、DELETE 等。

  • spring.mvc.cors.allowed-headers:允许的HTTP标头,例如 Authorization、Content-Type 等。

  • spring.mvc.cors.exposed-headers:在响应中暴露给客户端的标头。

  • spring.mvc.cors.allow-credentials:是否允许携带身份验证信息(如cookies)进行跨域请求。

  • spring.mvc.cors.max-age:预检请求的最大缓存时间,以秒为单位。

下面是一个示例配置,您可以将这些属性添加到您的application.propertiesapplication.yml文件中:

# 允许所有来源进行跨域请求
spring.mvc.cors.allowed-origins=*
# 允许的HTTP方法
spring.mvc.cors.allowed-methods=GET,POST,PUT,DELETE
# 允许的HTTP标头
spring.mvc.cors.allowed-headers=Authorization,Content-Type
# 允许携带身份验证信息
spring.mvc.cors.allow-credentials=true
# 预检请求的最大缓存时间
spring.mvc.cors.max-age=3600

示例代码

为了演示如何在Spring Boot应用程序中配置CORS支持,让我们创建一个简单的RESTful API,并在其中配置CORS。首先,创建一个Spring Boot项目,然后添加以下代码。

1. 创建一个简单的Controller

@RestController
@RequestMapping("/api")
public class HelloWorldController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, World!";
    }
}

2. 添加CORS配置

在应用程序的配置文件中添加CORS配置,如上所述。

3. 运行应用程序

运行您的Spring Boot应用程序,并确保它在端口8080上运行。

4. 发起跨域请求

现在,您可以使用JavaScript或任何其他工具来测试跨域请求。以下是一个示例使用JavaScript的代码:

fetch('http://localhost:8080/api/hello', {
    method: 'GET',
    headers: {
        'Authorization': 'Bearer token',
        'Content-Type': 'application/json'
    }
})
.then(response => response.text())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

这段代码将向您的Spring Boot应用程序发出一个跨域GET请求,并在控制台中输出响应。

总结

通过简单的配置,Spring Boot使CORS支持变得容易。通过明确指定允许的来源、方法和标头,您可以确保您的应用程序能够安全地与其他域的资源进行交互。在开发Web应用程序时,务必考虑到CORS配置,以提高安全性并确保良好的用户体验。

希望本文对您有所帮助,使您能够成功配置Spring Boot应用程序的CORS支持。如果您需要更多帮助或有其他问题,请随时提问。文章来源地址https://www.toymoban.com/news/detail-729336.html

到了这里,关于Spring Boot 如何配置 CORS 支持的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot 3.2发布:大量Java 21的支持上线,改进可观测性

    就在今天凌晨,Spring Boot 3.2正式发布了!该版本是在Java 21正式发布之后的重要支持版本,所以在该版本中包含大量对Java 21支持的优化。 下面,我们分别通过Spring官方发布的博文和Josh Long长达80+分钟的介绍视频,一起认识一下Spring Boot 3.2最新版本所带来的全新内容。 官方博文

    2024年02月05日
    浏览(50)
  • 【框架篇】Spring Boot 配置文件(详细教程)

    配置文件在Spring Boot项目中的地位是比较重要,其功能可主要归纳为以下几个: 进行配置程序属性 :配置文件允许设置应用程序的各种属性,如数据库连接、端口号、日志级别、缓存配置等。通过配置文件,可以集中管理和修改这些属性,而不需修改代码。 进行环境特定配

    2024年02月16日
    浏览(32)
  • Spring Boot中配置文件介绍及其使用教程

    目录 一、配置文件介绍 二、配置简单数据 三、配置对象数据 四、配置集合数据 五、读取配置文件数据 六、占位符的使用 SpringBoot项目中,大部分配置都有默认值,但如果想替换默认配置的话,就可以使用application.properties或者application.yml或者application.yaml进行配置。SpringBo

    2024年02月08日
    浏览(37)
  • Spring Cloud Gateway 超时、CORS配置 | Spring Cloud 17

    Spring Cloud Gateway 可以为所有路由配置 Http 超时(响应和连接) ,并为每个特定路由覆盖设置。 配置全局 http 超时: connect-timeout 必须 以毫秒为单位 指定。 response-timeout 必须指定为 java.time.Duration 使用示例:

    2024年02月14日
    浏览(45)
  • Java版知识付费源码 Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台 +支持二次开发定制

     提供职业教育、企业培训、知识付费系统搭建服务。系统功能包含:录播课、直播课、题库、营销、公司组织架构、员工入职培训等。 提供私有化部署,免费售后,专业技术指导,支持PC、APP、H5、小程序多终端同步,支持二次开发定制,源码交付。   Java版知识付费-轻松

    2024年02月15日
    浏览(32)
  • Spring Boot 整合 Redis 全面教程:从配置到使用

    Redis 是一种高性能的键值存储数据库,而 Spring Boot 是一个简化了开发过程的 Java 框架。将两者结合,可以轻松地在 Spring Boot 项目中使用 Redis 来实现数据缓存、会话管理和分布式锁等功能。 在 pom.xml 文件中添加 Redis 相关依赖 在 application.properties 或 application.yml 配置文件中添

    2024年02月13日
    浏览(28)
  • idea如何导入配置Spring Boot项目

    1、打开idea,点击File-open选择要打开的springBoot项目 2、然后配置Maven,选择File-Settings里面的Build ,Excution,Deployement里面的Build Tools里面的Maven,如果没有配置maven镜像,直接使用默认的Bundels(Maven3)点击ok即可,不过这样下载很慢,如果弹出import changes,点击这个即可,如果配置了

    2024年02月17日
    浏览(46)
  • 如何在 Spring Boot 中配置日志记录?

    在Spring Boot中配置日志记录是一项关键任务,因为良好的日志记录是应用程序开发和维护的必要组成部分。Spring Boot采用了一种灵活且强大的方式来管理日志,允许开发人员使用不同的日志框架,并提供了易于配置的选项。下面详细介绍在Spring Boot中配置日志记录的过程,包括

    2024年01月25日
    浏览(43)
  • Spring Boot框架中Controller层API接口如何支持使用多个@RequestBody注解接受请求体参数

    众所周知,在Spring Boot框架中,Controller层API接口编码获取请求体参数时,在参数上会使用@RequestBody注解;如果一次请求中,请求体参数携带的内容需要用多个参数接收时,能不能多次使用@RequestBody注解呢? 下面我们先测试一下,参考代码: PostMan进行请求: 服务端后端日志:

    2024年01月17日
    浏览(44)
  • spring boot配置ssl(多cer格式)保姆级教程

    1.  准备cer格式的证书;     2. 合并cer证书并转化成jks格式的证书 为啥有这一步,因为cer证书配置在spring boot项目中,项目启动不起来。如果有大佬想指导一下可以给我留言,在此先谢过大佬。 1)先创建一个jks格式的证书。       这一步要求必须安装jdk,我这里用的是jd

    2024年02月06日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包