基于OpenAPI规范生成帮助程序代码的简单实用程序

dekogen的Python项目详细描述


德科根

这是什么?在

dekogen是一个简单的工具,可以避免大的不可读的HTTP请求。它提供了创建请求构建器和 响应包装器来保持代码和OpenAPI规范之间的匹配。在

关于

要点:

1。保持代码和OpenAPI规范的一致性
2。不要手动描述请求和响应
3。使用:
request_body = Configuration() \
    .number("10") \
    .settings(Settings()
          .required_protocol("33-11-JRTF")
          .element_per_second(34)
          .related_grants("785-56-IU", "89-551-11-JRT")
          .body) \
    .body
而不是:
^{pr2}$
4。使用自动完成功能分析响应

依赖关系

inflection: 0.3.1
PyYAML: 5.1.2
Click: 7.0

有关推荐的和可选的依赖项,请参阅完整的安装说明。在

安装

pip install dekogen

许可证

MIT

讨论与发展

欢迎所有贡献,错误报告,错误修复,文档改进,增强和想法。在

入门

代码生成

通过命令行:

帮助:
dekogen_cmd -h
命令帮助:
dekogen_cmd <command from help list> -h
样品:
dekogen_cmd generate-all-python -f ~/sample-api-specs.yaml -o ~/results

通过python代码:

从以下位置读取数据:
from dekogen.spec_reader import SpecReader

file_path = '/home/name/sample-api-specs.yaml'
spec_reader = SpecReader
spec_data = spec_reader.read_yaml(file_path=file_path)
生成响应:
from dekogen.spec_codegen import PythonResponsesGenerator

output_path = '/home/name/output_dir'
py_req_generator = PythonResponsesGenerator(spec_data=spec_data, file_path=output_path)
py_req_generator.generate()

生成请求:

from dekogen.spec_codegen import PythonRequestsGenerator

output_path = '/home/name/output_dir'
py_req_generator = PythonRequestsGenerator(spec_data=spec_data, file_path=output_path)
py_req_generator.generate()

用法:

  1. 要为响应添加自动完成功能,只需通过响应.正文(dict)到相关的Response()对象初始化中

    response = client.request(...)
    body = NameOfTheView(response.data)
    
  2. 使用直接导入生成的文件和类为请求创建可伸缩和可读的结构。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jsoup有效文件路径抛出java。木卫一。FileNotFoundException   java如何在不删除和添加Mapbox中的层的情况下更改SymbolLayer的Z值?   java计算用户定义年数内四个季度的降雨量   如何在Java中轻松地将格式为“20 0F 01”的字符串更改为十六进制值?   java在JPA或Hibernate中“持久类”和“实体”之间有什么区别?   java Android:AlarmManager“缺少对unregisterReceiver()的调用?”当按下后退按钮时   logcat中的java错误“isDataSchedulerEnabled():false”   java i/p col特性必须是字符串或数字类型,但不能是org。阿帕奇。火花利纳格小姐。向量   java如何从Post请求url和浏览器转储中隐藏密码   多线程javamail中的java问题   java我的用户应该直接连接到数据库吗?如何将用户连接到数据库;   java如何获得Spring数据JPA存储库工厂?   windows java字节数组转换为字符串,但不同的操作系统会产生不同的结果   java代码在eclipse中编译,但不在命令行上编译