资讯专栏INFORMATION COLUMN

试探API Blueprint接口文档生成和接口模拟

mist14 / 3375人阅读

前言

今天发现了一个很niubility的东西__API Blueprint__,先给出官网https://apiblueprint.org/。下面是官网给出的介绍:

API Blueprint. A powerful high-level API description language for web APIs.

这个可以干什么呢?按照API Blueprint的语法(类似markdown),我们可以利用生态链工具:

生成API接口文档

模拟接口在你没写任何代码之前

待研究...

对于__1__因为之前调研过Swagger等工具还是关注过一段时间写接口文档的事情,当时选取的方案就是Swagger,当时也觉的挺好用的,最后的接口文档也是可以真实返回数据的,但是问题呢就是写Swagger依赖的json文档是个问题,官方支持的语法是yaml(要是markdown多好啊),直接手动维护所有接口的json文档很X疼的啊,最后发现一个sosoapi的东东可以生成Swagger依赖的json文档,但是没开源啊!!!所以使用要是选型API Blueprint语法作为接口文档书写标准,的确是个不错的选择。

贴一下Swagger的官网http://swagger.io/

其次,API Blueprint最让我觉得厉害的就是我曾经幻想的:先制定接口数据结构,然后通过这个数据结构先模拟接口响应,之后客户端的同学和后端的同学就可并行的开发,客户端的同学再也不用等到后端的同学开发完毕再对接接口了,后端同学开发完毕无缝切换到真实代码上即可。

试用

工具选用

看了生态链下眼花缭乱的工具,先选了个go开发的工具snowboard

安装

// linux下安装,这里安装的是v0.5.0版
wget https://github.com/subosito/snowboard/releases/download/v0.5.0/snowboard-v0.5.0.linux-amd64.tar.gz
tar -zxvf snowboard-v0.5.0.linux-amd64.tar.gz
./snowboard -h

// mac下安装
$ brew tap subosito/packages
$ brew install snowboard

编写第一个接口文档

新建一个.apib后缀的文件api.apib

推荐api-blueprint语法插件:language-api-blueprint 例如,Atom

编写接口文档

// 示例
# API
## GET /v1/message
+ Response 200 (application/json)
    {
        "status":"OK",
        "result":
        {
            "lists":[
                {"id":666},
                {"id":888}
                ],
            "count":10
        }
    }

生成接口文档html页面

// 命令
./snowboard html -i api.apib -o api.html -s

访问 http://127.0.0.1:8088/

启用接口模拟

// 命令
./snowboard mock -i api.apib

// 返回
Mock server is ready. Use 127.0.0.1:8087
Available Routes:
GET    200    /v1/message

访问 http://127.0.0.1:8087/v1/message

结语

是不是很不错的东西,提高生产效率的利器啊,哈哈~ 我今天才知道.......... 看它还有很多的工具,包含和Swagger结合使用的,后续慢慢研究,今天先过了个新鲜劲~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22486.html

相关文章

  • 使用Api-blueprint文档创建mock server

    摘要:是一套描述标准,和一样,属于一种标记语言,可以把标记文稿转换成漂亮的接口文档。还可以创建,进行本地调试。一语法只要用写过东西基本很快就能掌握语法。参考文档使用编写文档用生成优雅的文档指导手册用生成优雅的文档 前后端配合开发的时候,常常会有这样一种需求:你接口定义好了吗?能不能先帮我起一个 Mock Server 先跑起来?那么,如何才能避免前后端开发在时间差上的无谓等待呢?api-bl...

    ningwang 评论0 收藏0
  • 前端如何高效的与后端协作开发

    摘要:移动端应用一般都运行在微信浏览器中中手机浏览器中。因为微信浏览器是定制的浏览器,一般的远程调试方式都不可用,需要配合特定的工具,如微信开发者工具。 前端如何高效的与后端协作开发 1. 前后端分离 前端与后端的分离,能使前端的开发脱离后端的开发模式,拥有更大的自由度,以此便可做前端工程化、组件化、单页面应用等。 可以参考:前后端分离、web与static服务器分离 2. 尽量避免后端模板...

    rozbo 评论0 收藏0
  • 前端如何高效的与后端协作开发

    摘要:移动端应用一般都运行在微信浏览器中中手机浏览器中。因为微信浏览器是定制的浏览器,一般的远程调试方式都不可用,需要配合特定的工具,如微信开发者工具。 前端如何高效的与后端协作开发 1. 前后端分离 前端与后端的分离,能使前端的开发脱离后端的开发模式,拥有更大的自由度,以此便可做前端工程化、组件化、单页面应用等。 可以参考:前后端分离、web与static服务器分离 2. 尽量避免后端模板...

    learning 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<