Swagger接口文档,在线自动生成模板和页面。服务器地址加上swagger-ui.html后缀即可访问到(https://域名:端口号/swagger-ui.html)。

使用时在java代码中引用navan管理pom.xml中添加依赖:


  1. <!-- Swagger-mvc -->
  2. <dependency>
  3. <groupId>com.mangofactory</groupId>
  4. <artifactId>swagger-springmvc</artifactId>
  5. <version>1.0.2</version>
  6. </dependency>

我在项目中使用的是SpringBoot框架,减少了很多的配置信息

在进行接口设计的Controller中,只需要使用Swagger注解。其中下面的@Api、@ApiOperaction、@Apiparam都是Swagger注解:

其中@Api表示这是一个需要Swagger表示的类写在Controller的头部,如图;

@ApiOperaction表示这是一个需要Swagger修饰的接口,其中表明了请求方式、说明等信息。@ApiParam表示该接口输入的参数:

value是参数的值说明;name表示变量名;paramType表示传入类型,我所知类型:请求头传入写query,JSON类型传入写json;defaultValue表示默认值;required表示参数是否必须传。              API接口文档标识的内容只用于注释,没有实际意义,表示必须传入,只在文档中提示,没传不提示报错。若想判断,可在参数前些@requestParam注解

写好API注解文档后,启动项目。可以在swagger.html中对接口进行模拟测试,简单方便。

在对应字段中输入测试值,点击try it out请求接口,返会参数将在respnseBody中展示:

以上就是Swagger对接口管理和测试的简单实用方法,另外它还可以对Bean进行注释和管理。

对于一个实体模型,需要使用swagger去标识。如下面的Student模型,其中的@ApiModel、@ApiModelProperty都是属于Swagger的注解。如果需要在接口中返回模型对象,则需要使用以下的方式去注解。


  1. @ApiModel(value = "学生对象", description = "student")
  2. public class Student {
  3. @ApiModelProperty(value = "姓名", required = true)
  4. String name;
  5. @ApiModelProperty(value = "年龄", required = true)
  6. String age;
  7. public Student(String name, String age) {
  8. this.name = name;
  9. this.age = age;
  10. }
  11. public String getName() {
  12. return name;
  13. }
  14. public void setName(String name) {
  15. this.name = name;
  16. }
  17. public String getAge() {
  18. return age;
  19. }
  20. public void setAge(String age) {
  21. this.age = age;
  22. }
  23. }

我目前更多的使用Swagger管理API文档,测试接口。管理Bean个人并不常用。可以把Swagger理解为接口文档,后台写好的代码可以直接生成前端接口文档页面,接口调用这可以通过这个页面发送接口请求,进行接口测试或调用。对接方便。无奈的是,返回参数的接口文档,还是要自己写啊。

Postman插件,postman只是Chrome浏览器一个控件,可以嵌在Chrome中使用,也可以单独下载软件版。用来测试接口非常只方便。而且可以分类管理测试过的接口。分享接口

它得好处就是可以记忆测试的参数,Swagger毕竟是网页打开,很多参数无法保存。对家数据测试造成不小困扰,另外。设计到token权限的话,swagger中可能每次都需要模拟登录,而postman在Header中保存Token信息。给测试带来便利,按照程序员的尿性,我推荐postman。清晰整齐,一目了然。

那么他如何与前端对接呢,写接口文档吗?可以,或者你可让你家前端自己也下载一个,你把你测试的接口整理给他。就看他愿不愿意用咯。

总结:后台测试,推荐使用Postman。但是最好养成写Swagger的习惯,第一是可以给前端看,让他们参考。更重要的是postman中的测试可能会丢失。但是写在代码里的Swagger永远不会丢。

Swagger与postman使用心得的更多相关文章

  1. Swagger和Postman的配置和使用

    Swagger 1. 配置 pom文件添加swagger依赖,注意版本,2.8.0可以使用 <dependency> <groupId>io.springfox</gro ...

  2. SpringBoot集成Swagger,Postman,newman,jenkins自动化测试.

    环境:Spring Boot,Swagger,gradle,Postman,newman,jenkins SpringBoot环境搭建. Swagger简介 Swagger 是一款RESTFUL接口的 ...

  3. .net core 配置Swagger 摆脱PostMan,你值得拥有这样的api调试方式

    废话不多说直接来看 第一步: 安装nuget包:Swashbuckle.AspNetCore.Swagger Swashbuckle.AspNetCore.SwaggerGen Swashbuckle ...

  4. Postman 测试swagger类接口技巧

    测试情景: 公司的项目接口越来越多,由于开发周期短,时间紧,缺乏接口文档,直接使用swagger记录所有接口信息.那么: 1. 我们如何更快的测试动辄300+数量的接口,如何分组管理和维护这些接口? ...

  5. WebAPI生成可导入到PostMan的数据

    一.前言 现在使用WebAPI来作为实现企业服务化的需求非常常见,不可否认它也是很便于使用的,基于注释可以生成对应的帮助文档(Microsoft.AspNet.WebApi.HelpPage),但是比 ...

  6. PostMan请求不到接口问题

    在些接口的时候经常需要调试,调试的有很多选择,比如swagger.postman,我就是使用过两个都用:为了避免被swagger坑到就再去用postman试试确认看行不行,结果太小白了还是遇到了一些问 ...

  7. Apifox(1)比postman更优秀的接口自动化测试平台

    Apifox介绍 Apifox 是 API 文档.API 调试.API Mock.API 自动化测试一体化协作平台,定位 Postman + Swagger + Mock + JMeter.通过一套系 ...

  8. 干掉 Postman?测试接口直接生成API文档,ApiPost真香!

    实不相瞒我的收藏夹里躺着很多优质的开发工具,我有个爱好平时遇到感兴趣的开发工具都会记录下来,然后有时间在慢慢研究.前几天刚给同事分享一款非常好用的API文档工具,真的被惊艳到了,粉丝朋友们也感受一下吧 ...

  9. Postman中文版客户端

    "新冷战"蔓延到生产力工具 前端时间,著名 UI 设计软件 Figma 宣布制裁大疆! 这不仅让中国的互联网从业者纷纷一头冷汗:今天是 Figma,明天会是什么?今天是大疆,明天会 ...

随机推荐

  1. 关于React中,map出来的元素添加事件问题

    用es6 map 的写法 直接绑定一个onTouchStart 事件不会报错. 用es5的map写法  如果不加上this  会报这个错误 无法读取未定义的属性 解决的方法是 绑定this  就可以了

  2. Android底层开发之Linux输入子系统要不要推断系统休眠状态上报键值

    Android底层开发之Linux输入子系统要不要推断系统休眠状态上报键值 题外话:一个问题研究到最后,那边记录文档的前半部分基本上都是没用的,甚至是错误的. 重点在最后,前边不过一些假想猜測. ht ...

  3. 编程——C语言的问题,堆栈

    堆和栈的区别一.预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结 ...

  4. JS预解释的总结

    预解释阶段发生在创建了堆内存,让代码执行之前,对当前作用域中带var和function的进行预解释 在浏览器解析执行代码的时候,会提前把带var和function的代码声明或定义,提前放在作用域的最前 ...

  5. AMBA标准

    AMBA标准定义了三种不同的总线 高级高性能总线(AHB): 高级系统总线(ASB):-----用的比较少 高级外设总线(APB). 基于AMBA的典型微控制器: 典型的AMBA AHB系统设计包含以 ...

  6. SOAP消息结构

    邵盛松 2012-5-22 一 SOAP消息结构 SOAP消息包括以下元素 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息,XML文件的顶层元素,代表该文件为SOAP消 ...

  7. Redis 性能測试

    Redis 性能測试 Redis 性能測试是通过同一时候运行多个命令实现的. 语法 redis 性能測试的基本命令例如以下: redis-benchmark [option] [option valu ...

  8. python3中sum

    摘自https://blog.csdn.net/ikerpeng/article/details/17026011 其实python中sum有两种 一种是python自己的sum 另一种是python ...

  9. POJ 2479 Maximum sum POJ 2593 Max Sequence

    d(A) = max{sum(a[s1]..a[t1]) + sum(a[s2]..a[t2]) | 1<=s1<=t1<s2<=t2<=n} 即求两个子序列和的和的最大 ...

  10. <转> Intel VTune分析结果中的名词释译

    原文转自http://blog.chinaunix.net/uid-26000296-id-3369740.html Elapsed Time(执行耗时): the total time your t ...