页面查询接口Swagger工具

swagger是什么

Swagger是全球最大的OpenAPI规范(OAS)API开发工具框架,支持从设计和文档到测试和部署的整个API生命周 期的开发。 (https://swagger.io/)
Spring Boot 可以集成Swagger,生成Swagger接口,Spring Boot是Java领域的神器,它是Spring项目下快速构建 项目的框架。
swagger的简单使用

1. 在工程中引入swagger的jar包

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

2. 新建swagger的配置类

@Configuration
@EnableSwagger2
public class  Swagger2Configuration {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.test"))//会扫描com.test包及其子包下的所有类,所有带@RequestMapping的类以及方法,生成swagger页面
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("测试api文档")
                .description("测试api文档")
//                .termsOfServiceUrl("/")
                .version("1.0")
                .build();
    }

}

3.在Java类中添加Swagger的注解即可生成Swagger接口,常用Swagger注解如下:
1.@Api:修饰整个类,描述Controller的作用
2.@ApiOperation:描述一个类的一个方法,或者说一个接口
3.@ApiParam:单个参数描述
4.@ApiModel:用对象来接收参数
5.@ApiModelProperty:用对象接收参数时,描述对 象的一个字段
6.@ApiResponse:HTTP响应其中1个描述
7.@ApiResponses:HTTP响应整体描述
8.@ApiIgnore:使用 该注解忽略这个API
9.@ApiError :发生错误返回的信息
10.@ApiImplicitParam:一个请求参数
11.@ApiImplicitParams:多个请求参数
12.@ApiImplicitParam属性:
在这里插入图片描述

例子

/**
 * @Auther: 星仔
 * @Date: 2018/12/6 17:22
 * @Description:
 */
@Api(value="cms页面管理接口",description = "cms页面管理接口,提供页面的增、删、改、查")
public interface CmsPageControllerApi {

    /**
     *
     * @param pageNum
     * @param pageSize
     * @param queryPageRequest
     * @return
     */
    @ApiOperation("分页查询页面列表") @ApiImplicitParams({
            @ApiImplicitParam(name="pageNum",value = "页码",required=true,paramType="path",dataType="int"),
            @ApiImplicitParam(name="pageSize",value = "每页记录数",required=true,paramType="path",dataType="int")
    })
    public QueryResponseResult findList(int pageNum, int pageSize, QueryPageRequest queryPageRequest);
}
/**
 * @Auther: 星仔
 * @Date: 2018/12/6 17:13
 * @Description:
 */
@Data
public class QueryPageRequest extends RequestData {
    //页面id
    @ApiModelProperty("页面id")
    private String pageId;
    //页面名称
    @ApiModelProperty("页面名称")
    private String pageName;
    //别名
    @ApiModelProperty("页面别名")
    private String pageAliase;
    //站点id
    @ApiModelProperty("站点id")
    private String siteId;
    //模板id
    @ApiModelProperty("模板id")
    private String templateId;
}

最后输入:

http://localhost:端口号/swagger-ui.html

猜你喜欢

转载自blog.csdn.net/weixin_43794897/article/details/84937166