Swagger的加强版Knife4jhttps://gitee.com/xiaoym/knife4j
一、简单的使用Swagger
这个版本计较老,具体看SpringCloud学习十一:Swagger整合到zuul
1.1、引入jar包
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.8.0</version>
</dependency>
1.2、目录结构,SwaggerController 做接口演示
1.3、Swagger的初始化配置
注意:apis(RequestHandlerSelectors.basePackage("com.example.controller")的包名替换
@EnableSwagger2
@Configuration
public class SwaggerConfig {
/**
* 创建API应用
* apiInfo() 增加API相关信息
* 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
* 本例采用指定扫描的包路径来定义指定要建立API的目录。
* @return
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.controller"))
.paths(PathSelectors.any())
.build();
}
/**
* 创建该API的基本信息(这些基本信息会展现在文档页面中)
* 访问地址:http://项目实际地址/swagger-ui.html
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("SpringMVC 中使用Swagger2构建RESTful APIs")
.description("**账号后台登录操作系统")
.termsOfServiceUrl("http://www.**.com")
.license("证书")
.licenseUrl("证书地址")
.version("1.0")
.build();
}
1.4、controller配置
注意:@GetMapping注解的使用,@*Mapping注解对应不同的请求类型(get、post等)
@RestController
public class SwaggerController {
@ApiOperation(value = "接口的功能介绍",notes = "提示接口使用者注意事项",httpMethod = "GET")
@ApiImplicitParam(dataType = "string",name = "name",value = "姓名",required = true)
@RequestMapping(value = "/")
public String index(String name) {
return "hello "+ name;
}
@ApiOperation(value = "接口的功能介绍",notes = "提示接口使用者注意事项",httpMethod = "GET")
@ApiImplicitParam(dataType = "string",name = "nameInfo",value = "用户信息",required = true)
@GetMapping(value = "/getNameInfo")
public String getNameInfo(String nameInfo) {
System.out.println("请求参数为: "+ nameInfo);
int i = 1/0;
return "请求参数为: "+ nameInfo;
}
}
1.5、访问测试
直接访问 http://127.0.0.1:9000/swagger-ui.html
1.6、OK