什么是swagger?

swagger是用于定义API文档的一个框架。

为什么要使用swagger?

当下项目开发时前后端是分离的,那么接口就成了前后端唯一的纽带。前端工程师如何知道哪个接口是干嘛的?里面有什么方法?方法需要什么参数?...... 这时候就需要一份简洁且详尽API文档,swagger就是用来自动生成API文档。

怎么使用swagger?

1. 导入pom依赖

不同的版本ui界面有所差别,个人感觉2.7.0比较舒服

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

2. 编写配置类(复制可直接使用,最好建一个config包放以下类)

SwaggerConfig类:

@Configuration  //声明这是一个注解类
@EnableSwagger2 public class SwaggerConfig { @Bean
public Docket customDocket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors
.basePackage("com.gl.pin.web.controller"))
.paths(PathSelectors.any()).build();
} private ApiInfo apiInfo(){
Contact contact = new Contact("zjk",
"https://www.cnblogs.com/zjk-main/",
"1066406756@qq.com");
return new ApiInfoBuilder()
.title("项目API接口")
.description("接口描述")
.contact(contact)
.version("1.1.0")
.build();
}
}

WebMvcConfig类:

@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
public void addResourceHandlers(ResourceHandlerRegistry registry){
// 解决静态资源无法访问(可选)
/*registry.addResourceHandler("/**")
.addResourceLocations("classpath:/static/");*/
// 直接在浏览器访问:根目录/swagger-ui.html
registry.addResourceHandler("/swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
// 需要用到的webjars(包含js、css等)
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}

3. 在每个controller、method上加上注释

@Api加在类上

@ApiOperation加在方法上

示例:

@ResponseBody
@Controller
@RequestMapping(value = "/admin")
@Api(value = "没什么用,可不配",tags = "admin/zjk",description = "管理员操作")
public class AdminController { @ApiOperation(httpMethod = "POST",value = "管理员登录" ,produces = MediaType.TEXT_HTML_VALUE,tags = "admin/zjk",notes = "参数")
@PostMapping(value = "/login")
public String login(AdminEntity adminEntity){
return "login";
}
}

4. 访问根目录/swagger-ui.html

在这个页面可以看到controller类的描述,类里面方法的描述,方法参数、返回值的描述等等。swagger还提供了类似于postman的接口测试功能。

最新文章

  1. 首个threejs项目-前端填坑指南
  2. ASP.NET MVC 过滤器(四)
  3. ajax post 请求415\ 400 错误
  4. vim入门过程
  5. en_windows_10_multiple_editions_version_1511_x64.iso
  6. Lucene查询语法详解
  7. Android系统下,用adb实现自动获取应用性能数据
  8. ViewData ViewBag TempData
  9. hdu1157 快排
  10. PHP之curl
  11. Luogu 考前模拟Round. 1
  12. C# - 二叉树表达式计算
  13. 转:C++中引用传递与指针传递区别
  14. 基于visual Studio2013解决面试题之0302链表中找倒数k项节点
  15. KMP求字符串最小循环节
  16. Windows10下的docker安装与入门 (三) 创建自己的docker镜像并且在容器中运行它
  17. 你不知道的JavaScript--Item28 垃圾回收机制与内存管理
  18. 约定Jenkins构建脚本
  19. win 域
  20. [译]Ocelot - Load Balancer

热门文章

  1. 国赛baby_pwn
  2. youtobe视频下载
  3. 海底高铁(洛谷 P3406)
  4. MongoDB 关系型数据库表(集合)与表(集合)之间的几种关系
  5. [C++] const和mutable关键字使用方法
  6. GPU性能越来越强大,为何直到现在还是不能取代CPU?
  7. 创建批处理文件.bat文件(删除指定文件夹下的文件及文件夹并循环)
  8. phpstudy5.6 No input file specified的解决方法
  9. 微信小程序开发:背景图片设置
  10. Android -------- BouncingJellyView 果冻视图(阻尼效果)