美文网首页RAML
Restful API RAML文档编写

Restful API RAML文档编写

作者: df661d1e16ba | 来源:发表于2017-02-09 11:53 被阅读291次

参考
RESTful API 设计指南-阮一峰
Coding-API:http://api-doc.coding.io/

Restful API概念

域名

一般使用https协议,尽量将接口放在同一域名下,版本号也可以体现在域名中。如:
https://www.example.com/api/v1

资源路径

在Restful架构中,每个路径代表一个资源,命名使用名词如:
人员
https://www.example.com/api/v1/people
商品
https://www.example.com/api/v1/products

HTTP动词

RestfulAPI中,一个资源的路径是固定的,通过使用不同的HTTP动词表示增删改查逻辑。

基础的操作有以下5个:

  • GET(SELECT):从服务器取出资源(一项或多项)。
  • POST(CREATE):在服务器新建一个资源。
  • PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
  • PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
  • DELETE(DELETE):从服务器删除资源。

如对于资源“人员”,可以有以下操作:

  • GET /people : 获取人员列表
  • GET /people/{id} : 获取某个人员详情
  • POST /people : 添加一个新的人员
  • PUT /people/{id} : 修改人员信息
  • DELETE /people/{id} : 删除人员

过滤信息

一些常用的过滤信息作为参数填写,如
GET /people?pageIndex=1&pageSize=10


RAML

RAML语言基础

RAML 是一种 RESTful API 的建模语言。
RAML 规格说明:http://raml.org/spec.html
RAML 基础文档:http://raml.org/docs.html
RAML 进阶文档:http://raml.org/docs-200.html

RAML相关工具

RAML可以用任何文本编辑器编写,官方的编辑器主要有api-desinger和api-workbench,不过不知为何,我下的api-desinger版本不能导出项目和预览,而且api-desinger是基于浏览器的网页应用,使用还是不太方便,所以推荐使用api-workbench。

Node.js

下面的工具会使用npm安装,npm是Node.js的包管理器,所以我们需要安装Node.js。
Node.js官网:https://nodejs.org/en/
但是,在国内,使用npm时速度很慢,推荐使用淘宝的npm镜像
淘宝npm镜像:https://npm.taobao.org/

api-designer

官网: https://www.mulesoft.com/platform/api/anypoint-designer
git: https://github.com/mulesoft/api-designer
api-designer是基于Node.js的,使用npm安装:
$ npm install -g api-designer
安装完成后,运行api-designer
$ api-designer

api-workbench

官网:http://apiworkbench.com/
api-workbench是Atom编辑器的插件,先下载Atom:https://atom.io/
在Atom的设置中,选择install,搜索api-workbench,进行安装,速度很慢~

JSON Schema

在编写RAML的过程中,可能会用到JSON Schema,用来描述一些JSON格式。
JSON Schema 是一种用于描述/验证 JSON 数据的结构的声明方式。
官网::http://json-schema.org/
学习文档:http://spacetelescope.github.io/understanding-json-schema/
在线验证:http://jsonschema.net/#/

生成HTML

最后,通过 raml2html 生成html。
这个工具也是用npm下载。
生成 index.html 的命令为:
$ sudo raml2html api.raml > api.html

相关文章

网友评论

    本文标题:Restful API RAML文档编写

    本文链接:https://www.haomeiwen.com/subject/bbntittx.html