# my-mall-tiny **Repository Path**: hhgs_admin/my-mall-tiny ## Basic Information - **Project Name**: my-mall-tiny - **Description**: mall-learning自学笔记,参考网址:https://github.com/macrozheng/mall-learning spring-boot:2.5.6 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-16 - **Last Updated**: 2022-04-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 一,v1.0.2-mall-tiny-02 #### 项目参考网址: http://www.macrozheng.com/#/architect/mall_arch_02 #### 一,概述: 增加了swagger-ui的支持。 #### 二,附加: 增加了knife4j的支持,knife4j是在swagger-ui的基础上做的美化。 #### 三,使用区别: ##### 1,pom依赖区别 ```xml io.springfox springfox-swagger2 2.9.2 com.github.xiaoymin knife4j-spring-ui 2.0.8 ``` ###### 2,访问地址 ```shell #swagger-ui访问地址: http://localhost:8080/swagger-ui.html #knife4j访问地址 http://localhost:8080/doc.html ``` #### 四,集成过程碰到的问题: java.lang.NumberFormatException: For input string: "" ##### 解决方案: 1,修改pom中swagger-models版本为1.5.22 ```xml io.springfox springfox-swagger2 2.9.2 io.swagger swagger-models io.swagger swagger-models 1.5.22 ``` 2,修改日志级别 ```yml # application.yml logging: level: io.swagger.models.parameters.AbstractSerializableParameter: error # application.properties logging.level.io.swagger.models.parameters.AbstractSerializableParameter=error ``` #### 五,测试忽略某个接口 在单个接口上增加注解 ```java @ApiIgnore 去掉 @ApiOperation注解 ``` #### 六,SpringBoot 在生产快速禁用Swagger2 禁用方法1:使用注解`@Profile({"dev","test"})` 表示在开发或测试环境开启,而在生产关闭。(推荐使用) 禁用方法2:使用注解`@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")` 然后在测试配置或者开发配置中 添加 swagger.enable = true 即可开启,生产环境不填则默认关闭Swagger. 注:增加@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")注释后必须在yml配置swag.enable字段,值是true或者false均可。否则swagger默认被禁用 例如: ```css /** * Swagger2 接口配置 */ @Configuration @EnableSwagger2 //@Profile({"dev","test"}) @ConditionalOnProperty(name = "swagger.enable", havingValue = "true") public class Swagger2Config { /** * 添加摘要信息(Docket) */ @Bean public Docket controllerApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() .title("标题:某公司_用户信息管理系统_接口文档") .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...") .contact(new Contact("Socks", null, null)) .version("版本号:1.0") .build()) .select() .apis(RequestHandlerSelectors.basePackage("com.hehe.controller")) .paths(PathSelectors.any()) .build(); } } ``` ![image-20211117104015261](images/image-20211117104015261.png) ### 二,v1.0.4-mall-tiny-04 功能概述: ​ 参考:http://www.macrozheng.com/#/architect/mall_arch_04 集成了SpringSecurity和JWT #### 集成过程中碰到的问题: 找不到*UmsAdminRoleRelationDao* 原因是*MyBatisConfig*中没有增加当前类的扫描包,调整后如下: ```java @Configuration @MapperScan({"com.yonghui.mall.tiny.mbg.mapper","com.yonghui.mall.tiny.dao"}) public class MyBatisConfig { } ```