# 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();
}
}
```

### 二,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 {
}
```