这个问题是怎么产生的
这个问题我是出现在前后端分离的,前后端分离概念:说白了前后端分离就是前端能自己独立运行,服务器端自己独立运行,后端提供json数据格式,两边不同的端口,跨站点资源分享,同个IP不同端口间的访问也属于跨域问题,前后端分离必定有跨域问题
解决办法
增加一个注解轻松搞定,有多种方式这个注解 @CrossOrigin,这个注解你可以写在类上,你也可以放在你需要的方法上面,也可以自己写一个配置类,不过这是SpringBoot项目我这个,显然第二种写在方法上面一般都不推荐,然后第一种是需要写在类上面的,每增加一个接口就需要写一个
这个是写在类上的
解决
写在方法上面
解决
配置类的方法
从Spring3.0开始,@Configuration用于定义配置类,可替换xml配置文件,这个配置类可以放在公共模块
package club.adger.server.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* Created with IntelliJ IDEA.
*
* @Auther: Adger
* @Date: 2020/07/25/8:05
* 实现这个接口 WebMvcConfigurer
* WebMvcConfigurer是一个接口,提供很多自定义的拦截器,例如跨域设置、类型转化器等等
*/
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")//项目中的所有接口都支持跨域
.allowedOrigins("*")//所有地址都可以访问,也可以配置具体地址
.allowedHeaders(CorsConfiguration.ALL)//请求信息所有
.allowedMethods(CorsConfiguration.ALL)//"GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS"
.allowCredentials(true)//是否允许请求带有验证信息
.maxAge(3600); // 1小时内不需要再预检(发OPTIONS请求) 跨域允许时间
}
}
并没有写注解
扩展问题
解决 target等文件夹 不显示问题
开始没有什么 node_modules文件夹的还有编译的target
解决办法
为什么我需要这个,因为有时候,像单体架构的项目一个 jar包部署的应用,可能前端增加了文件,没有maven 构建工具没有clean掉,可能会出现一些问题,我会看有没有编译进去