SpringBoot系列五:集成Swagger文档

本篇开始介绍Api文档Swagger的集成

一、引入maven依赖

        <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>

二、添加Spring依赖注入Bean

@Configuration
public class Swagger {

    @Bean
    public Docket createRestApi(){
        return  new Docket(DocumentationType.SWAGGER_2)                 //文档基础设置信息
                .apiInfo(apiInfo())
                .select()                 //要扫描的包
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))                //路径显示规则any全部显示,可以选择正则方式来匹配自己想要显示的接口
                .paths(PathSelectors.any())
                .build();

    }
    private ApiInfo apiInfo(){
        return  new ApiInfoBuilder()                 //文档标题会展示在文档最上方加大加粗显示
                .title("Swagger文档")                 //会显示在标题下的一段描述
                .description("resultful文档")                 //文档版本号
                .version("1.0")
                .build();
    }
}

三、在接口上设置注解

Swagger遵循resultFul规范,会根据请求方式来生成文档,所以这里的RequestMapping必须指定

明确的Http请求方式。例如:PostMapping/GetMapping

如果使用RequestMapping,Swagger会把每种请求都生成一个文档

常用注解列表:

- @Api()用于类;
用来描述当前Controller的信息
- @ApiOperation()用于方法;
用来描述当前接口的信息
- @ApiParam()用于方法,参数,字段说明;
用来描述接口中的参数
- @ApiModel()用于类
用于描述接口中实体类的
- @ApiModelProperty()用于方法,字段
用于描述实体类属性
- @ApiIgnore()用于类,方法,方法参数
表示这个方法或者类被忽略
- @ApiImplicitParam() 用于方法
表示单独的请求参数
- @ApiImplicitParams() 用于方法,包含多个 @ApiImplicitParam

四、访问swagger地址

应用路径/swagger-ui.html

原文地址:https://www.cnblogs.com/Tassdar/p/12101295.html

时间: 2024-10-19 21:32:39

SpringBoot系列五:集成Swagger文档的相关文章

asp.net core web api 生成 swagger 文档

asp.net core web api 生成 swagger 文档 Intro 在前后端分离的开发模式下,文档就显得比较重要,哪个接口要传哪些参数,如果一两个接口还好,口头上直接沟通好就可以了,如果接口多了就有点不适用了,没有接口文档会大大提高前后端的沟通成本.而 asp.net core 可以通过 Swashbuckle.AspNetCore 很方便的集成 swagger 文档,相比之前 nodejs(express) 和 swagger 集成就很麻烦了,大概这就是强类型语言的优势吧.C#

使用 Swagger 文档化和定义 RESTful API

大部分 Web 应用程序都支持 RESTful API,但不同于 SOAP API——REST API 依赖于 HTTP 方法,缺少与 Web 服务描述语言(Web Services Description Language,WSDL)类似的语言来定义使用者与提供者之间的请求和响应结构.由于没有充分的合同服务,许多 REST API 提供者使用 Microsoft Word 文档或维基页面来记录 API 用法.这些格式使协作和文档版本控制变得很困难,尤其对于有许多 API 或资源的应用程序,或者

Swagger文档转Word 文档

GitHub 地址:https://github.com/JMCuixy/SwaggerToWord/tree/developer 原创作品,转载请注明出处:http://www.cnblogs.com/jmcui/p/8298823.html 一.前言 为什么会产生这个需求呢? 我们公司作为乙方,老是被客户追着要一份API文档,当我们把一个 Swagger 文档地址丢给客户的时候.客户还是很不满意,嫌不够正式!!死活坚持要一份 word 文档 .然后领导给了个接口模板,就把这个活交给我了...

如何Spring Cloud Zuul作为网关的分布式系统中整合Swagger文档在同一个页面上

本文不涉及技术,只是单纯的一个小技巧. 阅读本文前,你需要对spring-cloud-zuul.spring-cloud-eureka.以及swagger的配置和使用有所了解. 如果你的系统也是用zuul作为分布式系统的网关,同时使用swagger生成文档,想把整个系统的文档整合在同一个页面上,可以参考本文. 项目结构eureka-server:eureka服务注册中心,端口8080, zuul-server:zuul网关,端口8081 payment-server:支付系统,端口8082 or

TMS320F2803x系列实时控制 MCU 技术文档

C2000系列实时控制器简介: C2000 生产选择指南 sprufk8.pdf 数据表: 中文板:TMS320F28030/28031/28032/28033/28034/28035 Piccolo 微控制器 (Rev. I)  (zhcs864i.pdf) 英文版:TMS320F28030/28031/28032/28033/28034/28035 Piccolo Microcontrollers  (sprs584j.pdf) 勘误表: TMS320F28030/28031/28032/2

swagger文档添加jwt认证

最近写的swagger文档,要加jwt授权,所以几经google终于搞定了,简简单单几行配置如下: securityDefinitions: APIKey: type: apiKey name: Authorization in: header security: - APIKey: []

swagger文档分组显示

公司的项目,很多子模块是可以独自启动的spring boot服务,但是又搞了一个总的spring boot项目把其他子模块依赖进来,然后启动整体的服务,但是有xx同学反馈说swagger文档只能看见第一个子项目的. 经研究,配置swagger的时候,Docket 创建的时候没有指定名称,bean名称相同的被覆盖了,给bean指定特定的名称,然后给docket配置一个groupName,就可以解决了. 这样就可以是多个子模块的文档同时存在并按groupName分组,在右上角下拉菜单里就可以选择了.

【Swagger2】解决swagger文档地址请求404的问题

一.出现的问题背景 某个项目,本地启动后,访问swagger文档地址可以访问到, http://localhost:8203/doc.html.但是部署到开发环境就访问不到,报404资源找不到的问题 二.如何解决 开发环境的配置和本地配置不一致.将开发环境如下配置去掉就OK了或者设置为true(启用默认资源处理) spring.resources.add-mappings: false 原文地址:https://www.cnblogs.com/756623607-zhang/p/11287032

swagger文档原来就这样搞定出来

根据大神博客与书轻松搭建自己的swagger文档太厉害了 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox<