Swagger2最完整的文档

1、引入三个依赖,其中第三个是为了优化页面用;

<!-- swagger2-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger.version}</version>
        </dependency>
 
        <!--swaggerUI框架-->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.4</version>
        </dependency>

2、编写配置类;

package com.imooc.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @author Created by wcg
 * @Date 2019/11/7 21:39
 */
@Configuration
@EnableSwagger2
public class Swagger2 {
    //http://localhost:8088/swagger-ui.html 原路径
    //http://localhost:8088/doc.html bootstarp路径
    //配置swagger2核心配置 docket,主要是添加要扫描controller的路径
    @Bean
    public Docket createResApi(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select().apis(RequestHandlerSelectors
                            .basePackage("com.imooc.controller"))
                .paths(PathSelectors.any())
                .build();

    }
    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("天天吃货,电商平台接口api").
                contact(new Contact("imooc","https://www.imooc.com","abc@imooc.com"))
                        .description("专门为天天吃货提供的api文档")
                .version("1.0.1")
                .termsOfServiceUrl("https://www.imooc.com")
                .build();

    }
}

上边代码中的类主要描述了文档的基本信息,以及访问路径:
//http://localhost:8088/swagger-ui.html (这是原路径是swagger本身的路径配置好,直接就可以进行访问;)
//http://localhost:8088/doc.html ( bootstarp路径是优化后的页面的路径);
3、增加注释,用于中文进行直观的页面展示,主要有以下几个:
1、@ApiIgnore 就是将配置中扫描的包下的controller进行排除,这样文档页面就不会进行展示对应的controller了;
在这里插入图片描述
2、@Api(value = “注册登陆”,tags = “注册登陆的相关接口”),这个注释添加到要展示的controller类上,以及相关中文注释;
在这里插入图片描述
3、@ApiOperation(value = “用户名是否存在”,notes = “用户名是否存在”,httpMethod = “GET”) 主要放置在方法前边,用于展示对应接口的信息,以及请求方式;
在这里插入图片描述
4、@ApiModel(value = “用户对象BO”, description = “从客户端,由用户传入的数据封装在此entity中”) 这个主要是放在BO类上(BO类在这个项目就是为了接收参数的封装类),
在这里插入图片描述
5、@ApiModelProperty(value = “用户名”,name = “usernmae”,example = “imooc”,required = true) 这个主要是放在BO类中的属性前边,用于描述具体参数信息

package com.imooc.pojo.po;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @author Created by wcg
 * @Date 2019/11/7 19:35
 */
@ApiModel(value = "用户对象BO", description = "从客户端,由用户传入的数据封装在此entity中")
public class UserBO {
    @ApiModelProperty(value = "用户名",name = "usernmae",example = "imooc",required = true)
    private String username;

    @ApiModelProperty(value = "密码",name = "password",example = "123456",required = true)
    private String password;

    @ApiModelProperty(value = "确认密码",name = "confirmPassword",example = "123456",required = false)
    private String confirmPassword;

好了主要是就是这几个最主要的注释,那么让我们来看一下最终的成果页面吧:
· 1、输入http://localhost:8088/doc.html进入首页,会看到咱们在配置类中定制的基本信息:
在这里插入图片描述
2、看下具体的接口情况:
在这里插入图片描述
3、当然也可以在线输入参数,点击发送进行测试接口:
在这里插入图片描述
4、如果你部署环境之后,还想继续访问,但是又怕别人直接访问不安全,可以对swagger文档页面设置一个访问密码
①、在配置文件增加配置:

swagger:
  production: false
  basic:
    enable: true
    username: admin
    password: XXXXXXX

②、在swagger配置类增加注释:
在这里插入图片描述
③、重新启动,输入账号、密码访问
在这里插入图片描述

好了,就这么些了,完全够你在大部分的项目进行实用了!

  • 12
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
Swagger2是一个开源的项目,用于生成RESTful API的文档。通过Swagger2,我们可以方便地定义API的请求和响应格式、参数、返回值等,并且生成美观、易于阅读的文档Swagger2支持在线文档生成,但在某些场景下,我们可能需要生成离线文档以便于查阅。 生成Swagger2的离线文档可以通过以下几个步骤实现: 1. 在项目中添加Swagger2的依赖。我们可以通过Maven或Gradle等工具,在项目的配置文件中添加Swagger2的依赖项,以便于能够在项目中使用Swagger2的相关注解和配置。 2. 在代码中添加Swagger2的注解。在需要生成文档的API接口的方法上,使用Swagger2提供的注解,如@Api、@ApiOperation、@ApiParam等,对API进行描述和参数的定义。 3. 配置Swagger2的参数。在项目的配置文件中,我们可以配置Swagger2的相关参数,如API文档的标题、描述、版本号等。我们还可以指定生成离线文档的输出路径。 4. 运行项目生成离线文档。启动项目后,访问Swagger2的API文档页面,可以查看在线文档。在该页面上,我们可以找到一个生成离线文档的按钮或链接,点击后会将API文档以HTML或其他格式导出到本地的指定路径。 通过以上步骤,我们就可以很方便地生成Swagger2的离线文档。在项目构建或发布过程中,我们可以将这些离线文档打包发布,供其他团队成员或API使用者参考和查阅。这样可以提高API的可理解性和使用性,减少沟通和解释成本,提升开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值