Postman调用接口正常,前端页面调用报跨域

这篇具有很好参考价值的文章主要介绍了Postman调用接口正常,前端页面调用报跨域。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景
(该接口为POST接口)配置了跨域,并自定义了一个拦截器,拦截器写了根据自定义注解放行接口的代码,结果前端报跨域,后端也没放行接口。
postman可以请求成功,前端就不能请求成功,java,postman,前端
postman可以请求成功,前端就不能请求成功,java,postman,前端
解决办法:
一、配置CorsFilter
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;

import java.util.Arrays;

@Configuration
public class CorsConfig {

    @Bean
    public CorsFilter corsFilter(){

    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
      CorsConfiguration config = new CorsConfiguration();
      // 允许发送Cookie
      config.setAllowCredentials(true);
      // 允许所有来源的请求
      config.addAllowedOriginPattern("*");
      // 允许所有的请求头字段
      config.addAllowedHeader("*");
      // 允许所有的请求方法(GET, POST, PUT, DELETE等)
      config.addAllowedMethod("*");
      // 对所有的路径都应用跨域配置
      source.registerCorsConfiguration("/**", config);
      // 创建并返回一个跨域过滤器实例
      return new CorsFilter(source);
    }

}
注:AllowCredentials设置为true后,无法和设置为*的AllowedOrigin一起使用,且AllowedOriginPatterns也无法直接设置为*,所以这里我使用的addAllowedOriginPattern("*")
二、配置放行接口
2.1、根据放行该接口(这样写的话跨域问题实际并没有解决,只是配置了放行的接口没问题)
2.2、由于POST接口,在实际调用前会有一个预调用(OPTIONS类型),该调用正常响应才会实际调接口,所以可以设置OPTIONS类型的接口放行也可以(这个没试过不清楚有没有效,推荐还是配置CorsFilter,配置完CorsFilter后可以不用配置addCorsMapping)

文章来源地址https://www.toymoban.com/news/detail-755038.html

到了这里,关于Postman调用接口正常,前端页面调用报跨域的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 本地调试接口关于postman调用正常,Java代码则超时的问题。已解决

    项目需要使用到openai接口,浏览器以及postman调用接口均正常,唯独java项目中一直超时,本地项目使用的hutool自带的httpUtil工具类。 使用postman调取接口正常返回: 本地java项目调取超时: 代码如下: 百度大概搜了一下,大多都是让设置idea的系统代理,都没有解决掉这个问题

    2024年02月05日
    浏览(48)
  • 使用postman等API工具请求接口不会跨域

    首先,回顾一下跨域的定义。根据MDN Web Docs 里的定义,跨域是指当一个资源从与该资源本身所在的服务器不同的域或端口不同的域或不同的端口请求一个资源时,资源会发起一个跨域 HTTP 请求。 即当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨

    2024年02月16日
    浏览(55)
  • Jmeter-使用jmeter请求接口报401,postman能正常请求

    场景:在postman中请求接口正常,在jmeter请求相同的接口参数相同就会报错 1.postman中配置如下,是可以正常请求成功的 2.jmeter中配置如下,报401 按照上面的执行的话就会报401. 3.原因查找及解决办法: 登录系统打开F12后,发现Authorization传的内容包含Bearer,因此在jmeter中也要带

    2024年02月11日
    浏览(38)
  • postman-循环调用测试接口_postman循环调用接口,你会的还只有初级工程师的技术吗

    此篇文章产生的背景是想针对接口做流控验证,检查流控是否奏效,便发现postman也能一次操作来循环调用接口,减少了一些开发测试工作,下面就看一下操作流程 目录 postman简单介绍 前置查看 postman版本 我的接口数据 具体操作步骤 1. 新建接口集 2. 选择接口集进行循环操作

    2024年04月23日
    浏览(48)
  • IDEA调用接口超时,但Postman可成功调用接口

    IDEA代码调用RESTFul接口出现“Read time out”超时的报错,但是该接口所在的网段在本开发环境中能成功访问。 ( 我用的是hutool工具类调用Http接口,这个工具类很好用,种草给各位 ) 在浏览器中能访问,由于是POST接口,http status code为405,但也有响应,而不是超时,接口是通的

    2024年02月11日
    浏览(43)
  • postman-循环调用测试接口

    此篇文章产生的背景是想针对接口做流控验证,检查流控是否奏效,便发现postman也能一次操作来循环调用接口,减少了一些开发测试工作,下面就看一下操作流程 Postman是一款流行的API开发工具,旨在简化和加速API的设计、测试和管理过程。这个工具提供了直观的用户界面,

    2024年02月16日
    浏览(60)
  • postman调用WebServicer接口

    一、webServie如下: 二、设置url:192.168.7.201:8102/services/saleWaybill由local指定 三、设置header:Content-Type=text/xml;charset=utf-8 四、设置body格式 raw,xml 五、设置body内容 命名空间在此指定 方法名在此指定

    2024年02月11日
    浏览(43)
  • postman调用feign接口

    1、同postman调用controller接口差不多,url指定为:服务地址+@FeignClient中的path+具体方法名

    2024年02月16日
    浏览(36)
  • postman批量调用接口操作步骤

    新建一个Collection,并创建一个文件夹和请求 填写请求的url和参数形式,注意这里的 {{erpponum}} 表示这是一个变量,会通过我们提供的”参数文件“进行,postman会在批量执行时为我们自动挨个匹配。 注意:这里写完Body内容要“Ctrl + s\\\",保存一下。 参数文件 写参数文件我看了其

    2024年02月11日
    浏览(43)
  • Postman一个接口多次循环调用

    一、在Postman里面创建文件夹,在文件夹里面创建请求 二、将请求的参数,进行参数化 aa:“{ {a}}”, bb:“{ {b}}” 参数名是aa和bb a和b就是csv文件里面的那两列参数 最好还要在Tests里面写断言,不然运行之后,不知道有没有成功 三、创建csv文件,将替换的参数写在里面 第一列首

    2023年04月08日
    浏览(76)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包