Swagger使用

OpenAPI規範(OpenAPI Specification 簡稱OAS)是Linux基金會的一個項目,試圖經過定義一種用來描述API格 式或API定義的語言,來規範RESTful服務開發過程,目前版本是V3.0,而且已經發布並開源在github上。 (https://github.com/OAI/OpenAPI-Specification) Swagger是全球最大的OpenAPI規範(OAS)API開發工具框架,支持從設計和文檔到測試和部署的整個API生命周 期的開發。 (https://swagger.io/) Spring Boot 能夠集成Swagger,生成Swagger接口,Spring Boot是Java領域的神器,它是Spring項目下快速構建 項目的框架。html

● 導入Swagger依賴git

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

● 定義Swagger配置類。@EnableSwagger2是開啓Swagger的註解github

@EnableSwagger2
public class Swagger2Configuration {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
//掃描com.xuecheng下全部帶@RestController的類 .apis(RequestHandlerSelectors.basePackage(
"com.xuecheng")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("學成網api文檔") .description("學成網api文檔") // .termsOfServiceUrl("/") .version("1.0") .build(); } }

● 定義接口使用Swagger提供的註解spring

@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);
}

● 模型類使用使用Swagger提供的註解api

@Data
public class QueryPageRequest extends RequestData {
    @ApiModelProperty("站點id")
    private String siteId;
    @ApiModelProperty("頁面ID")
    private String pageId;
    @ApiModelProperty("頁面名稱")
    private String pageName;
    @ApiModelProperty("別名")
    private String pageAliase;
    @ApiModelProperty("模版id")
    private String templateId;
}

● 測試Swaggger。訪問根路徑下的swagger-ui.html框架

相關文章
相關標籤/搜索