Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步
作用:
1. 接口的文档在线自动生成。
2. 功能测试
一.添加依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
二.配置文件
@Configuration
@EnableSwagger2//启动
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
.paths(PathSelectors.any())
.build()
// .directModelSubstitute(LocalDate.class, String.class)
.useDefaultResponseMessages(false)
.apiInfo(apiInfo())
;
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("平台 API 文档")
.build();
}
}
三.controller层使用注解的作用,不是很详细
@Api(value="兑换商品")
@RestController
@RequestMapping("prod/mxchag")
public class MxChagController extends BaseController {
@Reference
private IMxChagMgr mxChagMgr;
@Reference
private ISysCatMgrx sysCatMgrx;
@Log
@ApiOperation(value = "兑换商品分页列表")
@GetMapping("page")
public Object page(String query) {
MapperSqlClause msc = getMapperSqlClause(query);
Page<MxChagDtox> page = mxChagMgr.pageMxChagBySql(msc);
return buildPage(page, LIST);
}
}
四。访问
启动Spring Boot程序,访问:http://localhost:80/swagger-ui.html
注意!如果使用nginx中间件,访问的端口不是80,而是项目对应的端口!