日常踩坑记录
路径访问与传参
- Post方式不能通过URL直接访问后台
- @RequestBody声明参数变量的接口只能采用Post方式,Get方式会报错
Mybatis-Plus
配置文件中配置:“mybatis-plus.mapper-locations: classpath*:/mapper/*.xml” 时,就必须使用xml文件配置Mapper了,就算在mapper文件上写了@Mapper或者在启动类上写@MapperScan都会报找不到Mapper文件错误。另外,就算将上面的配置项删除,如果在release.mapper文件夹下还有同名的mapper.xml文件(内部为空白,并没有配置)还是会扫描xml文件,并继续报错。- @Select和多表联合查询的错误。按我想的只要@Select接收的对象里有对应属性(两个表组合到一起后的内容)就应该能查询成功,但是并没有我想的那么简单,查询的主表内只要没有对应的属性(另一个连接的表的内容)就会报错,但是MJP多表联合查询看不懂,暂时先搁置一下吧。
- LambdaQueryWrapper和QueryWrapper:QueryWrapper在使用.eq等方法时,第一个参数只能为String形式;而LambdaQueryWrapper却可以使用类似User::getUserName的形式,使用起来更加方便。
Swagger3
-
使用Swagger时,除了编写相关配置文件外,还需要在启动类上加@EnableOpenApi注解开启Swagger3.并且在启动时会报空指针异常(就很怪),最后找到解决办法是在配置文件中加入
spring: mvc:
path-match:
matching-strategy: ant_path_matcher
引用 -
按照网上教程在项目pom.xml文件中引入了依赖(过程中引入了很多依赖,其中还有的会互相引用导致报错),最终确定只需要引入以下一个依赖就行。
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
- 巨大踩坑!!!在访问 http://127.0.0.1:8083/swagger-ui/index.html 的时候,起初报了500错误和多路径映射到’/v3/api-docs’这个文件夹(上面重复引入依赖的锅),排除后访问页面为空白!!,试了好多方法!!搞了好久!!确定不是代码问题也没有少写东西后。怀疑是浏览器问题,换了edge浏览器就成功访问了!!
- 在加入SpringSecurity进行认证时,发现Swagger访问不了了。经过一番排查,发现是SpringSecurity在进行鉴权认证时把Swagger相关页面拦截了,只需要放行"/swagger**/", "/webjars/", “/v3/**”, "/doc.html"这些路径即可。
Redis
-
description: a component required a bean of type 'org.springframework.data.redis.core.stringredistemplate' that could not be found. action: consider defining a bean of type 'org.springframework.data.redis.core.stringredistemplate' in your configuration.
报了一个这样的错,经过一段摸索,是导入的依赖的问题。# 报错的一版 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>2.6.0</version> </dependency> #改正后的 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
也不明白原因,改过来就不报错了。