现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景。例如我目前的工作,移动端交由了另一团队开发,不同开发小组之间就需要以规范和文档作为标准和协作基础。良好的文档可以让开发事半功倍,而作为又懒又要效率又能交代的码农,当然最希望一切自动化,或用小聪明来找到最适合的工具。
Swagger-UI简单而一目了然。它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具。项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,swagger-ui在这方面更是能提供很大帮助。
Swagger-UI更倾向于在线测试接口和数据,但其核心是一个javascript插件,只要稍作修改,便能按需求定制出不同格式的说明文档,在github上更是基于它集成到各种语言环境,分支众多。
其官方提供了一个离线版本,其使用方法十分简单:直接在js格式的资源文件中录入REST API的json信息,便能容易地生成不同模块下的API列表,每个API接口描述和参数、请求方法都能在每个json数组中定制。下面是目前项目中使用到的部分预览图:
Swagger-UI 的官方地址:
Github上的项目地址:
https://github.com/wordnik/swagger-ui
官方提供的demo地址
http://petstore.swagger.wordnik.com/
------------------------------------------------------------------
2012年10月19日更新:
下面是自己目前修改后的demo:
1. 添加了window.swaggerUi 中的几个参数(说明文件),更方便资源文件的编写
2. 修复了测试时post方法的bug
3. 界面显示中文
4. 根据每个接口的更新情况,定制了一些修订说明
下载地址 :http://amuropikin.iteye.com/admin/blogs/1701537
------------------------------------------------------------------
2012年10月24日更新
基于和合作团队的交流和改进建议,修改和增加了以下功能
1. 显示每个api的修改人、更新时间、接口更新状态(拟定、完成和重大修改)
2. 自动整理api的历史修改记录
3. 增加了返回结果的json示例
4. 增加了结果字段的说明表格
demo在近期优化后放出:)
github :https://github.com/swagger-api/swagger-ui