頁面查詢介面Swagger工具
阿新 • • 發佈:2018-12-24
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