接口开发允许跨域

9 篇文章 0 订阅
4 篇文章 0 订阅
public @responseBody Map getData(HttpServletRequest request, HttpServletResponse response)
            throws IOException {
	// 允许跨域
	// 指定允许其他域名访问
	response.setHeader("Access-Control-Allow-Origin", "*");
	// 响应类型
	response.setHeader("Access-Control-Allow-Methods", "*");
	// 响应头设置
	response.setHeader("Access-Control-Allow-Headers",
			"x-requested-with,content-type");
	/*ssssss*/
	Map map = new HashMap();
	return map;
}

springboot项目这样写:
新建XxxxxxConfig类 implements WebMvcConfigurer

@Override
	public void addCorsMappings(CorsRegistry registry) {
		// 指定允许其他域名访问
		registry.addMapping("/**").allowedOrigins("*");
		
		// 响应头设置
		registry.addMapping("/**").allowedHeaders("x-requested-with,content-type");
		
		// 响应类型
		registry.addMapping("/**").allowedMethods("*");
	}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
跨域问题指的是浏览器出于安全性考虑,限制了客户端JavaScript脚本发起跨域请求的能力。在Java Web开发中,如果前端页面和后台接口不在同一个域名下,就会遇到跨域问题。要解决这个问题,可以采用以下两种方式: 1. 服务器端设置响应头 通过在服务器端设置响应头,让浏览器认为当前请求是合法的跨域请求,从而绕过跨域限制。在Java中,可以通过设置HttpServletResponse对象的响应头来实现。常用的设置如下: ``` response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "x-requested-with"); ``` 其中,Access-Control-Allow-Origin表示允许跨域请求的来源地址,*表示允许所有来源。Access-Control-Allow-Methods表示允许跨域请求的HTTP方法,Access-Control-Max-Age表示预检请求的有效期,Access-Control-Allow-Headers表示允许跨域请求的自定义头信息。 2. 使用JSONP JSONP是一种前端跨域请求的解决方案,它通过在页面中动态添加一个<script>标签来实现。在Java中,可以通过编写返回JSONP格式数据的接口来实现。JSONP的原理是利用<script>标签不受同源策略限制的特性,将需要获取的数据包装成一个回调函数的参数,然后通过动态创建<script>标签,以回调函数名作为参数发送到服务器端获取数据。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朋态圈

您的鼓励是我最大的前进动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值