009,spring boot web 前端跨域请求处理
2016-12-04 00:00
921 查看
摘要: web页面中,当前工程的页面 请求 其他工程中的接口,实现跨域处理配置?
在spring mvc中 既可以进行全局的声明,也可以 进行 局部的 细粒度声明。
分别如下:
/**
* 全局设置
*/
@Configuration
public class CustomCorsConfiguration {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
////限制了路径和域名的访问
//allowedOrigins:设置 允许 前端跨域 访问的 访问请求路径的 域名和端口
//addMapping: 设置 允许 前端跨域 访问的 访问请求路径的 路径后缀
registry.addMapping("/api/**").allowedOrigins("http://localhost:8080");
}
};
}
}
@Controller
@RequestMapping(value = "/api", method = RequestMethod.POST)
public class CrossAllowController {
//特别注意: 对于controller层 细颗粒度 的 请求的 允许 跨域请求的 声明, 必须 保证 请求的方式 和 Controller的方式 保持一致才行
//即:如果 前端是post请求,那么,服务端的 接口 也必须 显示的 声明为post方式 才行,否则 请求失败。
//但是,对于 全局声明的 那种方式,就没有这一 限制
@CrossOrigin(origins = "http://localhost:8080")
@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;
}
}
在spring mvc中 既可以进行全局的声明,也可以 进行 局部的 细粒度声明。
分别如下:
/**
* 全局设置
*/
@Configuration
public class CustomCorsConfiguration {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
////限制了路径和域名的访问
//allowedOrigins:设置 允许 前端跨域 访问的 访问请求路径的 域名和端口
//addMapping: 设置 允许 前端跨域 访问的 访问请求路径的 路径后缀
registry.addMapping("/api/**").allowedOrigins("http://localhost:8080");
}
};
}
}
@Controller
@RequestMapping(value = "/api", method = RequestMethod.POST)
public class CrossAllowController {
//特别注意: 对于controller层 细颗粒度 的 请求的 允许 跨域请求的 声明, 必须 保证 请求的方式 和 Controller的方式 保持一致才行
//即:如果 前端是post请求,那么,服务端的 接口 也必须 显示的 声明为post方式 才行,否则 请求失败。
//但是,对于 全局声明的 那种方式,就没有这一 限制
@CrossOrigin(origins = "http://localhost:8080")
@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;
}
}
相关文章推荐
- 微服务框架Spring Cloud介绍 Part2: Spring Cloud与微服务
- java-WEB中的监听器Lisener
- GUI - Web前端开发框架
- springmvc实现url路由功能
- Extjs4.0 最新最全视频教程
- spring aop 无法代理父类方法 的解决方法
- Spring MVC过滤器-超类 GenericFilterBean
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring和ThreadLocal
- Spring Boot 开发微服务
- Spring AOP动态代理-切面
- MyEclipse Web Project转Eclipse Dynamic Web Project
- axis备忘