当前位置: 首页 > news >正文

宁波专业网站制作设计做网站用哪个ecalipse

宁波专业网站制作设计,做网站用哪个ecalipse,APP加网站建设预算多少钱,建设电子元器件网站文章目录 一、前言二、解决方式 2.1 使用 CrossOrigin 注解#xff08;简单方便#xff0c;适用于单个或少量接口#xff09;2.2 全局配置跨域#xff08;适用于整个项目中大量接口都需要跨域的情况#xff09;2.3 使用过滤器来处理跨域#xff08;更底层的实现方式CrossOrigin 注解简单方便适用于单个或少量接口2.2 全局配置跨域适用于整个项目中大量接口都需要跨域的情况2.3 使用过滤器来处理跨域更底层的实现方式灵活性高但代码相对复杂一点 三、结语 一、前言 在前后端交互的项目中首先要解决的就是跨域问题这个问题是由于浏览器的同源策略导致的这种策略是一种安全机制它要求网页的协议、域名以及端口都完全相同才允许一个域下的网页去访问另一个域的资源只要这三者中有一个不同就会产生跨域的情况。具体如下 二、解决方式 以下是几种在 Spring Boot 中解决跨域问题的常见方式 2.1 使用 CrossOrigin 注解简单方便适用于单个或少量接口 CrossOrigin 注解是 Spring 框架提供的用于处理跨域请求的一种便捷方式通过在控制器类或者具体的方法上添加该注解来告知 Spring 允许来自特定源的跨域请求它会在响应头中自动添加相应的跨域相关的 HTTP 头信息从而使浏览器能正常接收跨域响应。 在控制类上添加注解 import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; RestController RequestMapping(“/api”) CrossOrigin(origins “http://localhost:5173”) // 表示 http://localhost:5173 这个路径下的网页可以访问当前控制类 public class TestController { GetMapping(/data) public String getData() {return 数据被获取到了; }} 在接口上添加注解 import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; RestController RequestMapping(“/api”) public class TestController { GetMapping(/data) CrossOrigin(origins http://localhost:5173) // 表示 http://localhost:5173 这个路径下的网页可以访问当前方法 public String getData() {return 数据被获取到了; }} 注意CrossOrigin 注解可以不写里面的 origins 参数不写表示可以被所有的路径访问。 2.2 全局配置跨域适用于整个项目中大量接口都需要跨域的情况 通过实现 WebMvcConfigurer 接口并重写 addCorsMappings 方法在 Spring Boot 的配置类中统一设置跨域相关规则这样就能对项目中所有符合规则的请求都自动处理跨域问题无需在每个控制器类或者方法上单独添加注解了。 import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;Configuration public class CorsConfig implements WebMvcConfigurer {// 一天private static final long MAX_AGE 24 * 60 * 60;Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping(/**) // 对当前路径下的所有请求都应用当前的跨域配置.allowedOrigins(*) // 允许的跨域源可以通过逗号隔开也可以用 * 表示允许所有源.allowedMethods(*) // 允许的请求方法可以指定具体的如GET、POST、PUT、DELETE.allowedHeaders(*) // 允许的请求头类型可以指定具体的如Content-Type, Authorization.maxAge(MAX_AGE); // 设置请求最大有效时长在这个时长内重复的请求就不会发送预检请求} }2.3 使用过滤器来处理跨域更底层的实现方式灵活性高但代码相对复杂一点 通过自定义一个过滤器在请求进入 Spring Boot 的业务逻辑处理之前拦截请求并在响应返回给浏览器之前手动设置跨域相关的 HTTP 头信息以此来实现跨域请求的允许。这种方式能更加灵活地根据业务需求定制跨域处理逻辑比如可以针对不同的请求路径、请求类型等进行差异化的跨域设置。 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter;Configuration public class CorsConfig {// 1天private static final long MAX_AGE 24 * 60 * 60;Beanpublic CorsFilter corsFilter() {UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource();CorsConfiguration corsConfiguration new CorsConfiguration();corsConfiguration.addAllowedOrigin(*); // 设置访问源地址表示所有路劲都可以访问corsConfiguration.addAllowedHeader(*); // 设置访问源请求头表示所有的请求头都可以corsConfiguration.addAllowedMethod(*); // 设置访问源请求方法表示所有的请求方法都可以corsConfiguration.setMaxAge(MAX_AGE); // 设置请求最大时长表示在这个时长内重复的请求不会再次发送预检请求source.registerCorsConfiguration(/**, corsConfiguration); // 对当前路径下的所有请求都应用当前的跨域配置return new CorsFilter(source);} }三、结语 这篇文章是通过在后端来解决跨域问题的而如果想在前端解决的话我们一般会使用一个代理服务器来解决。首先让前端开发环境下的请求先发送到同域的代理服务器然后由代理服务器将请求转发到真正的后端接口所在的不同域地址对于前端来说它感觉只是在和同域的服务器进行交互从而绕过了浏览器的同源策略限制实现跨域请求。 至此本文结束如果这篇文章对您有所帮助希望可以点赞、收藏加关注感谢。
http://www.w-s-a.com/news/986664/

相关文章:

  • 个人网页设计步骤网站没有内容 能做优化吗
  • 专业网站建设公司招聘网站排行榜
  • 网站建设规范方法企业解决方案架构
  • ae做网站导航wordpress门户
  • 重庆市网站备案材料云南做网站
  • 网页设计模板网站免费珠海视窗网
  • 茂名模板建站定制WordPress注册不提示
  • 陕西营销型手机网站建设深圳制作网站服务
  • 受欢迎的锦州网站建设Wordpress 图片左右滑动
  • 湖南优化网站建设线上网站建设需求
  • 建什么类型的网站访问量比较大哪些外包公司比较好
  • php网站地图外贸建站哪家强外贸网站怎么做
  • 宁波五金网站建设中国建筑网官网投诉查询
  • 哪个网站注册域名便宜免费流程图制作网站
  • 潍坊做网站南宁网站seo优化公司
  • 网站建设的基本技术步骤无网站营销
  • 我国旅游网站的建设网站开发 混合式 数据库
  • 淘宝客网站域名家居网站开发项目计划书
  • 网站打不开显示asp苏州注册公司需要多少钱
  • 凡科建站登录官网wordpress主题有什么用
  • 西安双语网站建设怎么做网页动图
  • 宝安自适应网站建设无锡新区企业网站推广
  • 肇庆建设局网站cpanel 安装wordpress
  • 长春启做网站多少怎样换wordpress域名
  • 山西网站建设情况汇总vs2010 c 建设网站
  • 网站推广策划书 精品深圳市住建局和建设局官网
  • 住房和城乡建设部干部学院网站一般做公司网站需要哪几点
  • 网站制作流程详解(学做网站第一步)免费个人网站模版ps
  • 狮山网站建设公司微信平台软件开发
  • 绥芬河网站建设学网站开发的能找什么工作