从 Swagger 规范生成 Scala 模型
Generating Scala models from Swagger spec
我正在尝试使用 Scala 构建一个 Vert.X 应用程序,并通过 OpenAPI3RouterFactory
使用 OpenAPI 3 规范生成路由。
我需要生成在我的规范中描述为 Scala 类 的模型。
有什么简单直接的方法可以实现吗?
我正在使用 SBT 构建我的应用程序,并且我已经为 Swagger 尝试了一些 sbt codegen 插件,但其中 none 似乎有效。
使用 vertx-web-api-contract,路由器和验证处理程序在 运行 时生成,因此您不需要生成路由。您可以开始使用路由器工厂并安装您想要的处理程序,就好像它是一个 Vert.x Web 路由器一样。如果您想 bootstrap 一个新项目,有一个名为 vertx-starter 的社区工具,但现在没有 Scala 支持
谈到模型,您可以在不同的文件中组织您的 OpenAPI 规范,将所有数据模型定义放在特定目录下,例如 spec/models
(您可以找到一个很好的指南 here). Then you can configure jsonschema2pojo (sbt plugin) to generate a Scala case class for each schema inside that directory. Then, if you want to repack the spec in a single file, you can configure tools like swagger-cli在编译期间 运行 并将规范打包回单个文件
我正在尝试使用 Scala 构建一个 Vert.X 应用程序,并通过 OpenAPI3RouterFactory
使用 OpenAPI 3 规范生成路由。
我需要生成在我的规范中描述为 Scala 类 的模型。
有什么简单直接的方法可以实现吗?
我正在使用 SBT 构建我的应用程序,并且我已经为 Swagger 尝试了一些 sbt codegen 插件,但其中 none 似乎有效。
使用 vertx-web-api-contract,路由器和验证处理程序在 运行 时生成,因此您不需要生成路由。您可以开始使用路由器工厂并安装您想要的处理程序,就好像它是一个 Vert.x Web 路由器一样。如果您想 bootstrap 一个新项目,有一个名为 vertx-starter 的社区工具,但现在没有 Scala 支持
谈到模型,您可以在不同的文件中组织您的 OpenAPI 规范,将所有数据模型定义放在特定目录下,例如 spec/models
(您可以找到一个很好的指南 here). Then you can configure jsonschema2pojo (sbt plugin) to generate a Scala case class for each schema inside that directory. Then, if you want to repack the spec in a single file, you can configure tools like swagger-cli在编译期间 运行 并将规范打包回单个文件