Spring Boot Web应用开发 CORS 跨域请求支持
发布时间:2020-12-14 20:49:58 所属栏目:Java 来源:网络整理
导读:一、Web开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS等等 CORS与JSONP相比 1、 JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求。 2、 使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSONP有更好的错误处理。 3、
一、Web开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS等等 CORS与JSONP相比 1、 JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求。 2、 使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSONP有更好的错误处理。 3、 JSONP主要被老的浏览器支持,它们往往不支持CORS,而绝大多数现代浏览器都已经支持了CORS 浏览器支持情况
二、在spring MVC 中可以配置全局的规则,也可以使用@CrossOrigin注解进行细粒度的配置。 全局配置: @Configuration public class CustomCorsConfiguration { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurerAdapter() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**").allowedOrigins("http://localhost:8080"); } }; } } 或者是 /** * 全局设置 * * @author wujing */ @Configuration public class CustomCorsConfiguration2 extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/api/**").allowedOrigins("http://localhost:8080"); } } 定义方法: /** * @author wujing */ @RestController @RequestMapping("/api") public class ApiController { @RequestMapping(value = "/get") public HashMap<String,Object> get(@RequestParam String name) { HashMap<String,Object> map = new HashMap<String,Object>(); map.put("title","hello world"); map.put("name",name); return map; } } 测试js: $.ajax({ url: "http://localhost:8081/api/get",type: "POST",data: { name: "测试" },success: function(data,status,xhr) { console.log(data); alert(data.name); } }); 细粒度配置 /** * @author wujing */ @RestController @RequestMapping(value = "/api",method = RequestMethod.POST) public class ApiController { @CrossOrigin(origins = "http://localhost:8080") @RequestMapping(value = "/get") public HashMap<String,name); return map; } } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ORM查询
- java – 事件驱动的未来 – 线程池
- java – Generic assertThat(ArrayList,hasItems(Instanc
- java – 在Spring框架中使用@Import和@ImportResource注释有
- 使用PreparedStatement的getGeneratedKeys()无法在Java中找
- Java排序算法总结之归并排序
- 我们如何将com.datastax.driver.core.LocalDate转换为java.
- java – 无法在Spring Boot 1.3或1.2.5中设置我的自定义fav
- 如何在客户端使用Java读取gRPC中的元数据
- Java随机化 – (减号)和(加号)