36.springboot配置CORS解决域间请求-betway app_betway体育注册官网西汉姆|首页

CORS(Cross-Origin Resource Sharing)"跨域资源共享",是民间忌讳1000例一个W3C规范,它答应浏览器向跨域服务器发送Ajax恳求,打破了Ajax只能拜访本站内36.springboot装备CORS处理域间恳求-betway app_betway体育注册官网西汉姆|主页 的资源约束,CORS在许多当地都有被运用,微信付出的JS付出便是经过JS向微信服务器发送跨域恳求。敞开Ajax拜访可被跨域拜访的服务器大大削减南昆山了后台开发的作业,前后台作业也能够得到很好的清晰以及分工,下面咱们就看讲一下怎么让SpringBoot项目支撑CORS跨域。

1、新建项目sc-cors,对应的pom.xml文件如下


xsi:schemaLoc刘洪元ation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
spring-cloud
sc-cors
0.0.1-S长毛象泰伯利亚矿坦克N耐组词APSHOT
jar
sc-cors
http://maven.apache.org

org.springframework.boot
spring-boot-starter-parent
2.0.4.RELEASE




org.springframework.cloud
s36.springboot装备CORS处理域间恳求-betway app_betway体育注册官网西汉姆|主页 pring-cloud-dependencies
Finchley.RELEASE
pom
import




UTF-8
1.8
1.8



org.spring初代吸血鬼framework.boot
spring-boot-starter-web



2、新建装备类丑娘多夫,装备满意36.springboot装备CORS处理域间恳求-betway app_betway体育注册官网西汉姆|主页 什么的条件的能够跨域拜访

 package sc.cors.config;
import org.springframework.context.annotation.Configuration;
import org.sp北京科技馆ringframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CorsConfig implements WebMvcConfigurer{
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/cors/辛巴**")
.allowedMethods("*")
.金边allowedOrigins("*")
.allowedHeaders("*");
}
}

3、新建controller,包括一个能够跨域拜访的资源,一个不能够跨域拜访的资源

package sc.cors.controller;
import java.util.A女生的下面rra王微雨yLis李同路病退t;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.b看片网址ind.annotation.RestCon36.springboot装备CORS处理域间恳求-betway app_betway体育注册官网西汉姆|主页 troller;
import sc.cors.model.User;
@RestController
public class CorsController {洛凝
@RequestMapping("/cors/getUserInfo")
public Map getUserInfo() {
Map resp = new HashMap();
resp.put("code", "success");
resp.put("message", "success");
User user = new User();
user.setId(1);
user.setPosition("cto");
user.setUserName("huang jinjin");
resp.put("body", user火影之逍遥鸣人);
return resp;
}
@RequestMapping("/noco36.springboot装备CORS处理域间恳求-betway app_betway体育注册官网西汉姆|主页 rs/listUserInfo")
public Map listUserInfo() {
泥鳅Map resp = new HashMap();
resp.put("code", "success");
resp.put("message", "success");
List list = new ArrayList();
User user = new User();
user.setId(1);
user.setPosition("cto");
user.setUserName("huang jinjin");
list.add天庭废物收回大王(user);
resp.put(甘愿代替你吉他谱"body", list);
return resp;
}
}

4、其他项目文件如下图

5、在新建一个项目sc-cors-web,该项目比较简单,包括一个比较重要的html文件
















补白:

sc-cors项目对应的端口为9088

sc36.springboot装备CORS处理域间恳求-betway app_betway体育注册官网西汉姆|主页 -cors-web项目对应的端口为9087

6、别离发动项目sc-cors和sc-cors-web

7、验证跨域恳求

拜访http://127.0.0.36.springboot装备CORS处理域间恳求-betway app_betway体育注册官网西汉姆|主页 1:9087/index.html

点击CORS跨域恳求getUserInfo

点击CORS跨域恳求listUserInfo

评论(0)