页面查询接口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