简化Swagger使用的自制Starter:spring-boot-starter-swagger,欢迎使用和吐槽

本文介绍了一种简化SpringBoot应用中Swagger2集成的方法,通过使用特定的starter,可以轻松生成API文档,只需在pom.xml中添加依赖并启用注解即可。详细配置包括文档标题、描述、版本等信息。

项目简介

该项目主要利用Spring Boot的自动化配置特性来实现快速的将swagger2引入spring boot应用来生成API文档,简化原生使用swagger2的整合代码。

GitHub:https://github.com/dyc87112/spring-boot-starter-swagger
码云:http://git.oschina.net/didispace/spring-boot-starter-swagger
博客:http://blog.didispace.com

小工具一枚,欢迎使用和Star支持,如使用过程中碰到问题,可以提出Issue,我会尽力完善该Starter

版本基础

  • Spring Boot:1.5.x
  • Swagger:2.7.x

如何使用

在该项目的帮助下,我们的Spring Boot可以轻松的引入swagger2,主需要做下面两个步骤:

  • pom.xml中引入依赖:
<dependency>
<groupId>com.didispace</groupId>
<artifactId>spring-boot-starter-swagger</artifactId>
<version>1.1.0.RELEASE</version>
</dependency>
  • 在应用主类中增加@EnableSwagger2Doc注解
@EnableSwagger2Doc
@SpringBootApplication
public class Bootstrap {

public static void main(String[] args) {
SpringApplication.run(Bootstrap.class, args);
}

}

默认情况下就能产生所有当前Spring MVC加载的请求映射文档。

参数配置

更细致的配置内容参考如下:

配置示例

swagger.title=spring-boot-starter-swagger
swagger.description=Starter for swagger 2.x
swagger.version=1.1.0.RELEASE
swagger.license=Apache License, Version 2.0
swagger.licenseUrl=https://www.apache.org/licenses/LICENSE-2.0.html
swagger.termsOfServiceUrl=https://github.com/dyc87112/spring-boot-starter-swagger
swagger.contact.name=程序猿DD
swagger.contact.url=http://blog.didispace.com
swagger.contact.email=dyc87112@qq.com
swagger.base-package=com.didispace
swagger.base-path=/**
swagger.exclude-path=/error, /ops/**

配置说明

  • swagger.title=标题
  • swagger.description=描述
  • swagger.version=版本
  • swagger.license=许可证
  • swagger.licenseUrl=许可证URL
  • swagger.termsOfServiceUrl=服务条款URL
  • swagger.contact.name=维护人
  • swagger.contact.url=维护人URL
  • swagger.contact.email=维护人email
  • swagger.base-package=swagger扫描的基础包,默认:全扫描
  • swagger.base-path=需要处理的基础URL规则,默认:/**
  • swagger.exclude-path=需要排除的URL规则,默认:空

Path规则说明

swagger.base-pathswagger.exclude-path使用ANT规则配置。

我们可以使用swagger.base-path来指定所有需要生成文档的请求路径基础规则,然后再利用swagger.exclude-path来剔除部分我们不需要的。

比如,通常我们可以这样设置:

management.context-path=/ops

swagger.base-path=/**
swagger.exclude-path=/ops/**, /error

上面的设置将解析所有除了/ops/开始以及spring boot自带/error请求路径。

其中,exclude-path可以配合management.context-path=/ops设置的spring boot actuator的context-path来排除所有监控端点。


money.jpg
Spring Boot Starter Data JPA Springfox Swagger UI 是两个非常有用的工具,它们分别用于简化数据持久化操作生成API文档。下面我将分别介绍这两个组件及其功能。 ### Spring Boot Starter Data JPA `spring-boot-starter-data-jpa` 是一个Spring Boot的启动器,它集成了JPA(Java Persistence API)Hibernate框架,帮助开发者轻松地实现对象关系映射(ORM)。这个启动器提供了以下主要功能: 1. **自动配置**:通过Spring Boot的自动配置功能,可以快速配置数据源、实体管理器等。 2. **数据库支持**:支持多种数据库,如MySQL、PostgreSQL、Oracle等。 3. **简化开发**:通过注解接口,简化了CRUD(创建、读取、更新、删除)操作的代码编写。 4. **事务管理**:集成了Spring的声明式事务管理,使得事务处理更加简便。 #### 示例代码 ```java @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; // getters and setters } @Repository public interface UserRepository extends JpaRepository<User, Long> { } ``` ### Springfox Swagger UI Swagger UI 是一个强大的工具,用于生成展示RESTful API的文档。它通过注解的方式,将API的信息自动生成并展示在网页上,使得开发者用户能够方便地了解使用API。 #### 主要特点: 1. **自动生成文档**:通过注解配置文件,自动生成API文档。 2. **交互式界面**:提供友好的Web界面,用户可以在线测试API。 3. **版本控制**:支持多版本的API文档,便于管理查看不同版本的API。 4. **扩展性强**:可以通过插件扩展功能,如安全认证、参数校验等。 #### 示例代码 首先,需要在项目中引入相关的依赖: ```xml <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency> ``` 然后,创建一个配置类来启用Swagger: ```java @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.basePackage("com.example.demo")) .paths(PathSelectors.any()) .build(); } } ``` 最后,访问 `http://localhost:8080/swagger-ui.html` 即可查看生成的API文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值