建议使用方法一
跨域访问:
方法一:
@Configuration
public class CORSConfig {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("*")
.allowedOrigins("*");
}
};
}
}
WebMvcConfigurerAdapter:采用javabean的形式来代替传统xml中bean的注入。
addCorsMappings:跨域
方法二:
@RequestMapping(value = "like",method = RequestMethod.POST)
public ServerResponse like(HttpServletResponse response, HttpServletRequest request){
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,Content-Type");
response.setHeader("Access-Control-Allow-Origin", request.getHeader("origin"));
response.setHeader("Access-Control-Allow-Methods", "POST,GET");
return ServerResponse.createSuccess();
建议用方法一,简单,一招制胜
方法二的话,需要针对每个接口都写一遍,太繁琐了。
方法三:
@CrossOrigin(origins = {"域名", "null"})
可以在类上加,也可以在接口上加
网上有很多关于方法三的解释,不知道别人怎么弄得,我当时试了后,还是不能跨域。
SpringBoot——》WebMvcConfigurerAdapter详解:https://blog.csdn.net/weixin_43453386/article/details/83623242