后端API接口文档Swagger的使用

Swagger是什么

  • Swagger是一款RESTFUL接口的文档在线自动生成+功能测试的功能软件
  • Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务
  • 目标是使客户端和文件系统作为服务器以同样的速度来更新文件的方法,参数和模型紧密集成到服务器

如何使用Swagger2

引入swagger的依赖

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

springboot整合swagger

//配置类
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket creatRestApi(){
        return  new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo()) // 用于生成API信息
                .select() // select()函数返回一个ApiSelectorBuilder实例,用来控制接口被swagger做成文档
                .apis(RequestHandlerSelectors.basePackage("com.example.swaggerdemo.controller"))//指定扫描路径
                .paths(PathSelectors.any())
                .build();
    }
    //定义主界面api信息
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("小程序")
                .description("SwaggerAPI文档")
                .termsOfServiceUrl("")
                .version("1.0")
                .build();
    }
}

使用Swagger

@RequestMapping("/user")
@RestController
@Api(tags="用户管理")
public class UserController {
   @PostMapping("/get")
   @ApiOperation("查询用户")
   @ApiImplicitParam(name="id",value = "用户编号",required = true)
   public User getUser(@RequestParam(required = true) Long id){
    User user=new User();
    user.setId(id);
    user.setName("小兵");
    user.setAge(20);
    user.setHigh("180cm");
    user.setHeight("70公斤");
    user.setAddress("西岐");
    return  user;
}
}

访问本地链接localhost:8080/swagger-ui.html

 配置swagger时遇到的问题

  Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.NullPointerException

原因分析 

  •  swagger版本和springboot出现了不兼容情况
  • SpringBoot处理映射匹配的默认策略发生变化,即请求路径与SpringMVC处理映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser

 解决方法

方案一 在 application.properties 配置文件添加配置:
spring.mvc.pathmatch.matching-strategy=ant_path_matcher

方案二 在 配置类 添加注解@EnableWebMvc

 方案三 根据实际,降低SpringBoot版本
我个人推荐第一种和第二种

Swagger3的使用

改变了依赖

  <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>

改变了注解以及配置中的部分内容

//配置类
@Configuration
@EnableOpenApi
public class SwaggerConfig {
    @Bean
    public Docket creatRestApi(){
        return  new Docket(DocumentationType.OAS_30)
                .apiInfo(apiInfo()) // 用于生成API信息
                .select() // select()函数返回一个ApiSelectorBuilder实例,用来控制接口被swagger做成文档
                .apis(RequestHandlerSelectors.basePackage("com.example.swaggerdemo.controller"))//指定扫描路径
                .paths(PathSelectors.any())
                .build();
    }
    //定义主界面api信息
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("小程序")
                .description("SwaggerAPI文档")
                .termsOfServiceUrl("")
                .version("1.0")
                .build();
    }
}

改变了本地链接localhost:8080/swagger-ui/

遇到的警告信息

 WARN 14976 --- [           main] d.s.r.o.OperationImplicitParameterReader : Unable to interpret the implicit parameter configuration with dataType: , dataTypeClass: class java.lang.Void

这对整体没什么影响,但是就是有点别扭,怎么解决

@ApiImplicitParam注解上加上dataTypeClass属性的值,

下次再见!

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Swagger2是一种用于构建和自动生成API接口文档的工具。抖音短视频是一个流行的社交媒体平台,开发者可以通过构建后端API接口文档来规范化和简化开发过程。 使用Swagger2构建抖音短视频后端API接口文档有以下步骤: 1. 引入Swagger2依赖:在项目的构建文件中加入Swagger2的依赖,这样项目就可以使用Swagger2的相关注解和功能。 2. 创建配置类:创建一个配置类,用于配置Swagger2的一些基本属性,比如接口访问路径、文档标题、版本号等。 3. 添加Swagger2注解:在需要生成接口文档API接口的每个方法上添加Swagger2相关的注解,比如@Api、@ApiOperation、@ApiParam等,这些注解可以用于描述接口的基本信息、请求参数、响应结果等。 4. 启动项目:启动后端项目,并访问Swagger2配置的接口文档路径,就可以看到自动生成的接口文档页面。在页面上可以查看每个接口的详细信息,包括请求方式、参数、返回结果等。 通过Swagger2构建抖音短视频后端API接口文档,可以帮助开发者清晰地了解每个接口使用方式和相关参数,减少了编写和维护文档的工作量,提高开发效率。同时,Swagger2还提供了接口测试的功能,开发者可以直接在文档页面上进行接口测试,验证接口的正确性。 总之,使用Swagger2构建抖音短视频后端API接口文档可以方便地生成清晰、易读、可测试的文档,并提高开发效率和质量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值