项目集成swagger
在pom.xml工程中引入依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
在Config配置类中定义swagger配置类
@Configuration
@EnableSwagger2//开启spring对swagger相关注解的识别的支持
public class SwaggerConfiguration {
@Bean
public Docket buildDocket() {
//构建在线API概要对象
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(buildApiInfo())
.select()
// 要扫描的API(Controller)基础包
.apis(RequestHandlerSelectors.basePackage("com.itheima.stock.web"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo buildApiInfo() {
//网站联系方式
Contact contact = new Contact("黑马程序员","https://www.itheima.com/","itcast@163.com");
return new ApiInfoBuilder()
.title("今日指数-在线接口API文档")//文档标题
.description("这是一个方便前后端开发人员快速了解开发接口需求的在线接口API文档")//文档描述信息
.contact(contact)//站点联系人相关信息
.version("1.0.0")//文档版本
.build();
}
}
在SpringBoot启动类中导入配置类
@SpringBootApplication
@MapperScan("com.itheima.stock.mapper")
public class StockApp {
public static void main(String[] args) {
SpringApplication.run(StockApp.class, args);
}
}
controller层工程为web资源添加注解支持,右击
资源访问:http://localhost:8091/swagger-ui.html
项目集成knife4j
工程添加依赖:
<!--knife4j的依赖-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>
<!--支持接口参数校验处理-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!--解决小刀与swagger2集成问题:java.lang.NumberFormatException: For input string: "" -->
<!--参考:https://www.mianshigee.com/tutorial/knife4j/format-exception.md -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
在swagger配置类添加knife4j配置:
@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class SwaggerConfiguration {
//.....其它不变......
}
以上有两个注解需要特别说明,如下表:
访问在线文档资源:http://localhost:8091/doc.html