2016-03-07 88 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

相关问题