欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

swagger2 基本使用

程序员文章站 2022-07-02 21:50:21
...

1.pom.xml依赖坐标 

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

  swagger2   可以用来方便测试的一个测试文档

2.配置类 

   扫描  com.xuecheng 下所有的包

@Configuration
@EnableSwagger2
public class Swagger2Configuration {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.xuecheng"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("学成网api文档")
                .description("学成网api文档")        定义文档的名称
//                .termsOfServiceUrl("/")
                .version("1.0")
                .build();        }}

 3. 使用

  @Api          在自己编写的接口中  可以加上  提供这个接口类的描述信息

  @ApiOperation ("分页查询页面列表")      在一个接口方法上 加上 提供这个方法的 描述

 @ApiImplicitParams({ @ApiImplicitParam(name="page",value = "页码",required=true,paramType="path",dataType="int")})

      用来指定方法的参数 信息

@Api(value="cms页面管理接口",description = "cms页面管理接口,提供页面的增、删、改、查")
public interface CmsPageControllerApi {
    //页面查询
    @ApiOperation("分页查询页面列表")
    @ApiImplicitParams({
       @ApiImplicitParam(name="page",value = "页码",required=true,paramType="path",dataType="int"),
       @ApiImplicitParam(name="size",value = "每页记录数",required=true,paramType="path",dataType="int")
    })

    public QueryResponseResult findList(int page, int size, QueryPageRequest queryPageRequest);
}

 使用  @ApiModelProperty("站点id")  在实体类(也成为模型) 中指定字段的信息   

@Data
public class QueryPageRequest {

    @ApiModelProperty("站点id")
    private String siteId;
}

swagger2 基本使用