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

OpenAPI代码生成器-python服务器存根工作流

陈茂
2023-03-14

我正在使用openapi生成器生成服务器存根python代码。一切正常,但是,每次我修改OpenAPI规范(yaml文件),代码生成器都会覆盖整个代码,甚至是定制的代码(控制器)。我想开发一个增量工作流,如果我对规范进行了更改,生成器将只修改处理该部分代码的代码。

如果我能够执行规范并拥有一个增量工作流,那就太好了。

我使用的是openapi生成器版本3.3。4.

我试图修改控制器并删除#noqa: E501,但每次我从规范中生成存根时,它仍然会覆盖代码。

由于生成的代码不是OOP,如何通过生成的接口隔离控制器实现?

共有3个答案

阎丰羽
2023-03-14

我试图修改控制器并删除#noqa:E501,但每次我根据规范生成存根时,它仍然会覆盖代码。

您可能希望使用带有-t选项的自定义模板。

元阳荣
2023-03-14

一个简单的解决方法是在中添加openapi\u服务器/控制器。openapi生成器忽略文件,以便在每次更新API合同时不会覆盖这些文件。

不过,您必须自己手动创建这些文件

魏宸
2023-03-14

为了克服这个问题,我把我的终端实现放入一个openapi_server/实现/模块中的文件中,然后在我的构建过程中实现了一个修补系统。

我生成服务器存根,然后将补丁应用于openapi_server/控制器中的服务器endpoint存根。

该补丁包括向endpoint实现函数添加各种导入,取代了返回的“Dosomemagic!” 行调用它们的endpoint实现,甚至删除我不需要的#noqa:E501注释。

有了这个系统,我的openapi生成器可以在每次运行时覆盖openapi_server/控制器目录,最终我仍然会在调用我需要的实现和任何其他我想要的调整的状态下使用这些文件应用。

 类似资料:
  • 我正在维护一个Java应用程序,我们在其中不断添加新特性(api中的更改)。我想使用OpenAPI作为记录api的一种方式。我看到两种思想流派: 编写代码,使用一些注释来生成OpenAPI规范。 虽然两者看起来都很好,但服务器代码只是简单地存档了,然后需要大量的手动插入服务。虽然这似乎罚款作为一个一次性成本,然后下次我更新界面,它似乎对我来说唯一的两个选项是 再次生成它们,重新执行所有手动接线 手

  • 我试图生成一个API客户端从v2 swagger文件openapi生成器cli。为此,我使用openapi生成器cli的docker容器,它将其版本报告为4.1.0-SNAPSHOT。 代码生成使用以下选项: 我还尝试将选项设置为true。 但是,生成的服务类不使用装饰器进行注释。因此,在我的组件中导入它们并在组件的构造函数中添加服务后,我无法使用它们。这就是我的组件的样子: 失败,因为userS

  • 我有一个基本的Codename One订阅,从我的角度来看,我的代码编译得很好,模拟器也工作得很好,但是Codename One Server正在获得构建错误,我尝试了几次但仍然不工作,有构建错误日志,但在这里发布太长了,我该怎么办?

  • 我有一个OpenAPI规范,我使用了来生成Golang服务器。 从OpenAPI规范生成Swagger documentation server的常规方法是什么? 我已经尝试过swag:它会在http://localhost:8080/swagger/index.html终点。但这需要在代码注释中描述API。我正在寻找一个来自OpenAPI规范的大摇大摆的UI生成器,我已经有了。 谢谢

  • Jboot 内置了一个简易的代码生成器,可以用来生成model层和Service层的基础代码,在生成代码之前,请先配置jboot.properties关于数据库相关的配置信息,Jboot 代码生成器会通过该配置去链接数据库。 jboot.datasource.type=mysql jboot.datasource.url=jdbc:mysql://127.0.0.1:3306/jbootdemo