springboot整合生成swagger文档

邮差的信 提交于 2019-12-28 19:44:21

开始构建:

一、  先来看看我的项目目录结构,重点是Controller和config包。其中config是我放自己的配置类文件的地方,也就是在这里创建swagger2的配置。

 

二、开始配置前需要引入pom依赖,这里是2.6.1,如果需要其他版本请自己去 maven Repostory官网去找。

<!--swagger--><dependency>   <groupId>io.springfox</groupId>   <artifactId>springfox-swagger2</artifactId>   <version>2.6.1</version></dependency><!--swagger ui--><dependency>   <groupId>io.springfox</groupId>   <artifactId>springfox-swagger-ui</artifactId>   <version>2.6.1</version></dependency>

三、配置文件,springboot采用@Configuration+@Bean的方式来代替原来spring xml的配置。

@Configuration@EnableSwagger2public class swaggerConfig {    @Bean    public Docket createRestApi() {        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())                .select()                .apis(RequestHandlerSelectors.basePackage("com.example.sp01.Controller"))  // 这里扫描的是你的Controller地址,也就是设置接口访问@RequestMapping的地方                .paths(PathSelectors.any()).build();    }    private ApiInfo apiInfo() {        return new ApiInfoBuilder()                .title("Spring Boot中使用Swagger2构建RESTful APIs")                .description("myapp")                .termsOfServiceUrl("http://www.baidu.com") // 服务条款说明地址,这里随便写的。                .version("1.0").build();    }}

四、 在你扫描的package下通过swagger的注解设置swagger的功能。

 类上:

  

 

 方法上:

 

基本上到这就可以了,测试地址  http://127.0.0.1:8081//swagger-ui.html  这是你自己项目访问地址+swagger-ui.html 

 

 

五、注意生成的接口是按照restful风格来走的,所以如果你没有设置requestMapping的method属性,swagger会生成该接口所有的类型

最后引用一下  https://blog.csdn.net/sanyaoxu_2/article/details/80555328  对swagger的介绍。

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。

 作用:

    1. 接口的文档在线自动生成。

    2. 功能测试。

 Swagger是一组开源项目,其中主要要项目如下:

1.   Swagger-tools:提供各种与Swagger进行集成和交互的工具。例如模式检验、Swagger 1.2文档转换成Swagger 2.0文档等功能。

2.   Swagger-core: 用于Java/Scala的的Swagger实现。与JAX-RS(Jersey、Resteasy、CXF...)、Servlets和Play框架进行集成。

3.   Swagger-js: 用于JavaScript的Swagger实现。

4.   Swagger-node-express: Swagger模块,用于node.js的Express web应用框架。

5.   Swagger-ui:一个无依赖的HTML、JS和CSS集合,可以为Swagger兼容API动态生成优雅文档。

6.   Swagger-codegen:一个模板驱动引擎,通过分析用户Swagger资源声明以各种语言生成客户端代码。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!