2016-03-07 84 views
7

我是用TypeScipt編寫的項目的一部分,我試圖添加將與Swagger兼容的TypeScript Web服務器。
考慮到易維護性,實施它的最基本策略是什麼。什麼是在TypeScript中創建一個Swagger Web服務的正確方法

  • 對於Typescript我注意到存在用於從TypeScript接口生成JSON模型的'Typson'庫。

  • 對於Swagger,我試過使用'swagger-node-restify'庫,因爲它支持將JSON模型添加到swagger中。

不過,我會遇到一些問題:

  1. Typson不支持導入的打字稿語法 - (import {Server} from "restify"
  2. 我試圖實施「招搖-節點的RESTify '示例(Pet Example),但是localhost:8080/api-docs.json的GET請求缺少API的所有SPEC數據。 {"apiVersion":"0.1","swaggerVersion":"1.1","basePath":"http://localhost:8080","apis":[{"path":"/api-docs.{format}/pet","description":"none"}]}

回答

3

我建議使用yamljson生成服務器從描述揚鞭兼容的API

swagger-server可以在express之上實時構建API(無源代碼生成)。

JavaScript代碼生成

  • 呼叫招搖,CODEGEN客戶端-l nodejs-server

  • swagger-node是一個偉大的選擇,但似乎很難與整合TypeScript

+0

這是最好的方法。許多項目致力於從代碼 - >招搖從事構建服務,但我相信這不是最好的方法。通過在JSON中編寫Swagger規範(由於集成了Json模式,它比YAML更爲標準),因此不會將API文檔綁定到特定的運行時環境或實現。相反,您正在寫規範,然後使用swagger-codegen從該規範構建客戶端或服務器。 – coding

相關問題