Swagger【接口测试工具】

一、Swagger 介绍

  Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 web 服务

二、官网地址

  https://swagger.io/

三、主要作用

  1. 使得前后端分离开发更加方便,有利于团队协作

  2. 接口的文档在线自动生成,降低后端开发人员编写接口文档的负担

  3. 功能测试

四、使用

  4.1 依赖

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

  4.2 配置类

复制代码
package com.heima.common.swagger;

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;

@Configuration
@EnableSwagger2
public class SwaggerConfiguration {

   @Bean
   public Docket buildDocket() {
      return new Docket(DocumentationType.SWAGGER_2)
              .apiInfo(buildApiInfo())
              .select()
              // 要扫描的API(Controller)基础包
              .apis(RequestHandlerSelectors.basePackage("com.heima"))
              .paths(PathSelectors.any())
              .build();
   }

   private ApiInfo buildApiInfo() {
      Contact contact = new Contact("黑马程序员","","");
      return new ApiInfoBuilder()
              .title("黑马头条-平台管理API文档")
              .description("黑马头条后台api")
              .contact(contact)
              .version("1.0.0").build();
   }
}
复制代码

  4.3 resources/META-INF/Spring.factories

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  com.heima.common.swagger.SwaggerConfiguration

  4.4 常用注解

  @Api:修饰整个类,描述Controller的作用

  @ApiOperation:描述一个类的一个方法,或者说一个接口

  @ApiParam:单个参数的描述信息

  @ApiModel:用对象来接收参数

  @ApiModelProperty:用对象接收参数时,描述对象的一个字段

  @ApiResponse:HTTP响应其中1个描述

  @ApiResponses:HTTP响应整体描述

  @ApiIgnore:使用该注解忽略这个API

  @ApiError :发生错误返回的信息

  @ApiImplicitParam:一个请求参数

  @ApiImplicitParams:多个请求参数的描述信息

 

@ApiImplicitParam属性:

属性 取值 作用
paramType   查询参数类型
  path 以地址的形式提交数据
  query 直接跟参数完成自动映射赋值
  body 以流的形式提交 仅支持POST
  header 参数在request headers 里边提交
  form 以form表单的形式提交 仅支持POST
dataType   参数的数据类型 只作为标志说明,并没有实际验证
  Long  
  String  
name   接收参数名
value   接收参数的意义描述
required   参数是否必填
  true 必填
  false 非必填
defaultValue   默认值

 五、访问

  启动微服务后,访问地址:http://host:port/swagger-ui.html

host 服务器 IP 或 localhost
port 微服务端口
posted @   青核桃啊  阅读(260)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示