如何在从OpenAPI 3.x规范生成的python代码中禁用客户端验证

icnyk63a  于 2023-02-06  发布在  Python
关注(0)|答案(1)|浏览(167)

我有一个应用程序,需要使用内部开发的python自动化进行测试。最初,该应用程序是使用Swagger 2.x规范开发的。现在它迁移到使用Open API 3.x
在Swagger 2.x规范中,我使用swagger-codegen-cli-2.4.21.jar来生成python客户端库,我们最终使用它来编写自动化。使用2.4.21 jar,我们可以禁用客户端验证(configuration.py)
但是在迁移到OpenAPI 3.x之后,我不能使用2.4.21 jar,因为它不受支持。所以我使用3.0.36 jar来生成python客户端库。但是这没有禁用客户端验证的选项(在www.example.com中configuration.py)。这实际上产生了很多问题,因为我们在GET调用期间会得到ValueErrors。
我看到有一些讨论发生在相同的,但没有一个是结论性的足够,它实际上是在3.x中修复
https://github.com/OpenAPITools/openapi-generator/pull/4137
https://github.com/swagger-api/swagger-codegen/issues/5530
https://github.com/swagger-api/swagger-codegen/pull/9717
所以我需要帮助来了解这是否仍然是一个开放的问题(或)它在一些3. x版本中得到了修复。?如果它还没有修复,是否有解决这个问题的方法。?
到目前为止,我们注解了所有的ValueErrors来解决这个问题,但是不推荐这样做,因为我们在POST调用期间会失去验证功能。

v1uwarro

v1uwarro1#

python-nextgen(最新的Python生成器)上,它没有实现(当创建configuration对象时,你可以使用disabled_client_side_validations来指示可以跳过哪种类型的验证,也许对你有用?)
configuration对象还包括一个属性client_side_validation,该属性似乎旨在用于此目的,但目前还没有实现。
目前唯一的选择是在所有操作中保留或删除它。

相关问题