admin管理员组文章数量:1794759
axios springboot 跨域问题解决 Access
这是本地环境解决用的, 部署服务器测试或生产环境时必须注释掉, 服务器环境下有nginx可以解决跨域问题。
最终解决为步骤 5 。
1:403 前端访问后端controller 403 , 代表跨域无权限访问
2: 后端类加上 @CrossOrigin 放开权限的注解, 并且requestmapping method={requestMthod,post,requestMthod.options}
3:@CrossOrigin 为 * , 下图图片 Access-Control-Allow-Origin 意思是 Origin 不能为*
将上面第2步@CrossOrigin
改为 @CrossOrigin(origins = "IP加端口"), 比如@CrossOrigin(origins = "192.168.0.1:8080")
4: 有可能出现下图为 Access-Control-Allow-Credentials 是否支持安全证书 为空
5: 将上面第3步 @CrossOrigin(origins = "IP加端口")
改为: @CrossOrigin(allowCredentials = "true"), 改为支持安全证书。 就可以了。
注意还有一个就是方法需要加上访问的方式:
这是注解方式解决:
这是代码方式:
package com.htcf; import java.util.HashMap; import java.util.Map; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.springbootApplication; import org.springframework.context.annotation.Bean; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; import com.alibaba.fastjson.JSONObject; import com.tydic.open.DopApiException; import com.tydic.open.DopApiV1; @SpringBootApplication public class TestMain { public static void main(String[] args){ SpringApplication.run(TestMain.class, args); } @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); corsConfiguration.addAllowedOrigin("IP:8081"); corsConfiguration.setAllowCredentials(true); source.registerCorsConfiguration("/**", corsConfiguration); return new CorsFilter(source); } }
本文标签: axiosSpringBootAccess
版权声明:本文标题:axiosspringboot跨域问题解决 Access 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686956850a122048.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论