最近安装并使用了一下Swagger-ui、Swagger-editor和Swagger-codegen,感受还不错。html
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger的目标是对REST API定义一个标准的和语言无关的接口,可以让人和计算机无需访问源码、文档或网络流量监测就能够发现和理解服务的能力。当经过Swagger进行正肯定义,用户能够理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口相似,Swagger消除了调用服务时可能会有的猜想。java
Swagger是一组开源项目,其中主要要项目以下:node
C:\tools\swagger-codegen>mvn package
C:\tools\swagger-codegen\modules\swagger-codegen-cli>mvn package
C:\tools\swagger-codegen\modules\swagger-generator>mvn package
C:\tools\swagger-codegen>java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate -i http://petstore.swagger.io/v2/swagger.json -l spring-mvc -o yqu/petstore/spring-mvc
C:\tools\swagger-codegen\yqu\petstore\spring-mvc>mvn package
除了Swagger项目自身支持的Java、Scala和JavaScript语言,Swagger社区中还提供了不少支持其余语言的第三方工具,覆盖了Clojure、ColdFusion / CFML、Eiffel、Go、Groovy、.Net、Perl、PHP、Python、Ruby等各类编程语言。git
Swagger这类API文档工具能够知足下列需求:github
跟下列其余API文档工具相比,Swagger各有优缺点,但它功能最多、也是最流行的。web