Swagger2

swagger2 用来生产Api文档

1.pom.xml配置

<!--    swagger2 Api文档-->
    <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>

2.swagger配置类

@Configuration
@EnableSwagger2
public class swagger2 {
    private ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("Api 文档")
                .version("1.0")
                .build();
    }
    @Bean
    public Docket createRestApi(){
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
                .apis(RequestHandlerSelectors.basePackage("org.example.sb2.controller"))
                .paths(PathSelectors.any())
                .build();
    }
}

3 注解使用

3.1.@Api

@Api(tags = "用户模块")//用在类上 说明类的作用

3.2.@ApiOperation

@ApiOperation(value = "查询用户", notes = "备注")//用在方法上说明方法作用 value为描述 notes为备注

3.3.@ApiImplicitParams

用在请求的方法上,包含组参数说明
@ApiImplicitParam:用在@ApiImplicitParams 注解中,指定一个请求参数的配置信息
name:参数名
value:参数的汉字说明、解释
required:参数是否必须传
paramType:参数放在哪个地方

  • header -->请求参数的获取: @RequestHeader
  • query --> 请求参数的获职: @Requestparam
  • path (用于restfu1接口) -->请求参数的获取: @Pathvariable
  • body (不常用)
  • form (不常用)
    dataType:参数类型,默认string,其它值dataType=" Integer"
    defaultvalue:参数的默认值
@ApiImplicitParams({
        @ApiImplicitParam(name = "id", value = "用户id", required = true,
        paramType = "path")
})

3.4.@ApiResponses 用于请求的方法上,表示一组响应

@ApiResponse:用在QApiResponses中,一般用于表达一个错误的响应信息
code:数字,例如400
message:信息,例如"请求参数没填好”
response:抛出异常的类

@ApiResponses({
        @ApiResponse(code = 400, message = "错误")
})

3.5.@ApiModel:用于响应类上,表示一个返回响应数据的信息

(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)
@ApiModelProperty:用在属性上,描述响应类的属性

@ApiModel(description = "用户实体")
public class User {
    @ApiModelProperty(value = "用户id")
    private int id;
    @ApiModelProperty(value = "用户名")
    private String name;
    @ApiModelProperty(value = "用户密码")
    private String password;
}

4.访问

http://localhost:8080/swagger-ui.html

posted @   lwx_R  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示