我有一个应用程序,需要使用内部开发的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 客户端库。但这没有禁用客户端验证的选项(在 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调用期间会失去验证功能。
在python-nextgen
(最新的Python生成器)上,它没有实现(您可以在创建配置
对象时指示可以使用disabled_client_side_validations
跳过哪种类型的验证,也许对您有用?
配置
对象还包括一个属性client_side_validation该属性似乎
用于此目的,但目前没有实现。
目前唯一的选择是在所有操作中保留或删除它。