API设计的一般的思路是,API提供者根据某种语法规范,表达和编写相应的API, 然后使用对应这种语法规范的工具解析并生成指定格式的API文档, 当然, 更进一步, API的实现代码也可以一并生成。
生成的文档以及代码可以发布到版本控制系统以及相应的web站点, 然后API的使用者或者说消费者根据发布的API文档作为参考, 使用指定的API规范访问开放的API服务。
![](https://box.kancloud.cn/2015-07-14_55a4e3360e4c0.png)
或者引用一下apiary的流程:
![](https://box.kancloud.cn/2015-07-14_55a4e3533f97e.png)
思路上稍微存在一些差异(即是否生成代码),但先从API设计入手,然后迭代,最终发布这样的大体流程是类似的。
当然, 围绕着这个典型的流程, 很多解决方案可以进一步提供一些周边的工具支持, 比如便于测试的工具, 便于版本化管理的支持, 图形化的API编辑工具, 对应的客户端API服务调用代码的生成工具, 等等。