当前位置: 首页 > 知识库问答 >
问题:

在TypeScript中创建swagger web服务的正确方法是什么

颛孙飞
2023-03-14

我是一个项目的一部分,我正在尝试添加TypeScript Web Server,这将与Swagger兼容。
什么是最基本的策略来实现它,考虑到容易的可运维性。

>

  • 对于TypeScript,我注意到存在用于从TypeScript接口生成JSON模型的Tyson库。

    对于Swagger,我尝试使用“Swagger node restify”库,因为它支持向Swagger添加JSON模型。

    然而,我遇到了一些问题:

    1. Typson不支持导入的typeScript语法(Import{Server}来自“restify”
    2. 我试图实现'swagger node restify'示例(Pet示例),但是本地主机的响应:8080/api文档。json GET请求缺少API的所有规范数据<代码>{“apiVersion”:“0.1”,“swaggerVersion”:“1.1”,“basePath”:http://localhost:8080“,“api”:[{”路径“/api文档。{format}/pet”,“description:“none”}]}
  • 共有2个答案

    阎德宇
    2023-03-14

    是的,您可以使用tsoa轻松地从TypeScript类型生成Swagger和OpenAPI文档。自述文件包含开始使用它所需的所有设置信息。它与Express、hapi、koa等兼容(通过为首选服务器类型添加自己的模板):

    https://github.com/lukeautry/tsoa

    tsoa相对于其他图书馆的优势是:

    • 它既生成swagger/OpenAPI文档,也在运行时验证类型

    (完全透明:我是tsoa的维护者之一。但我是tsoa的第一个消费者,我发现它是一个很棒的产品……这就是为什么我要求帮助维护它的原因!)

    秦才英
    2023-03-14

    我建议使用yamljson描述一个符合Swagger的API,并从中生成服务器。

    swagger-server可以实时在Express之上构建API(无需生成源代码)。

    JavaScript代码生成器:

    >

  • 使用-l nodejs服务器调用swagger codegen客户端

    swagger节点是一个很好的选择,但似乎很难与TypeScript集成

  •  类似资料:
    • 我想知道在静态编程语言中创建全局常量的最佳方法是什么。Java,我们将使用一个包含常量的类,我们只需要导入这个类就可以访问所有常量。但是在静态编程语言中,有两种主要的方法: > 您可以创建一个包含所有常量的对象: 对象常量{const valCONST_1="foo"const valCONST_2="bar"const valCONST_3="toto"} 但这不是推荐的方式,正如一位语言开发者

    • 在GFM中,在列表中创建连续列表的正确方法是什么? 目标: 一个 我已经看了关于持续号码列表和相关问题的常见帖子,但还没有看到有人问这个问题。

    • 问题内容: 我正在Java 8中使用Completable futures,并且我想编写一种方法,该方法基于接收到的参数并行运行多个具有副作用的任务,然后返回其“组合” future(使用),或者什么都不做,然后返回已经完成的未来。 但是,返回一个: 创建已知的已经完成的未来的唯一方法是使用,它需要一个值: 返回一个已经用给定值完成的新CompletableFuture。 并且是无法实例化的,因此

    • 我在java 8中使用Completable futures,我想写一个方法,根据收到的参数,或者并行运行多个具有副作用的任务,然后返回它们的“组合”未来(使用),或者什么都不做,返回一个已经完成的未来。 但是,返回一个

    • 我尝试在Spring Boot应用程序中配置apache kafka。我阅读了这篇文档,并按照以下步骤操作: 1)我将以下行添加到: 2)我创建新主题:

    • 我正在处理一个数据库,我用AutoCloseabe的extends创建了一个名为Dao的公共接口,所以我有一个实现这个接口的类,但我想在那里创建一些私有方法,但它们仍然需要Autocloseable。所以我的问题是,我不能在接口中创建私有方法而不在接口中定义它们。如果我在类中创建一个私有方法,但不从DAO重写,就会发生这种情况?他们不会有自动关闭的,是吗?。如果没有,我可以实现哪种解决方案?