在写友联这个接口时候碰到的问题,使用postman测试返回数据正常,用页面去访问接口报403问题,idea报错信息Closing non
transactional SqlSession
[org.apache.ibatis.session.defaults.DefaultSqlSession@e144d40]
![Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSql]三更草堂博客项目,友联接口问题,第1张 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSql]三更草堂博客项目,友联接口问题,测试返回数据正常,第1张](/upload/website_attach/202402/1_CCH9JJVRG6EWZ4ST.jpeg)
![Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSql]三更草堂博客项目,友联接口问题,第2张 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSql]三更草堂博客项目,友联接口问题,在这里插入图片描述,第2张](/upload/website_attach/202402/1_RZMNXPEXDEU6FU3E.jpeg)
其实是很明显的cors error 但是因为第一次写项目不是很熟练,加上前端不太了解,所以也用csdn排查了很久才发现。
1.在Controller上添加@CrossOrigin
2.使用注册Bean组件的方式
@Configuration
public class CrossConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**") // 所有接口
.allowCredentials(true) // 是否发送 Cookie
.allowedOriginPatterns("*") // 支持域
.allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"}) // 支持方法
.allowedHeaders("*")
.exposedHeaders("*");
}
}
多做项目,多写bug,不要什么都跟着视频做可以结合自己的知识,活学活用,比如我这个就是没有使用注册bean的方式,觉得在Controller上添加@CrossOrigin更好,但是现在发现还是注册bean的方式更实用
上一篇:viper - go 配置管理