1. 程式人生 > >頁面查詢介面Swagger工具

頁面查詢介面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註解如下:
[email protected]:修飾整個類,描述Controller的作用
[email protected]:描述一個類的一個方法,或者說一個介面
[email protected]:單個引數描述
[email protected]:用物件來接收引數
[email protected]:用物件接收引數時,描述對 象的一個欄位
[email protected]:HTTP響應其中1個描述
[email protected]:HTTP響應整體描述
[email protected]:使用 該註解忽略這個API
[email protected] :發生錯誤返回的資訊
[email protected]:一個請求引數
[email protected]:多個請求引數
[email protected]屬性:
在這裡插入圖片描述

例子

/**
 * @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