最近安裝並使用了一下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