允许直接从swagger模式构建rest api

djsw_wrapper的Python项目详细描述


#djsw_wrapper
缺少swagger和django工具。

[![PYPI版本](https://badge.fury.io/py/djsw_wrapper.svg)(https://badge.fury.io/py/djsw_wrapper)什么?
虚张声势/openapi是一件了不起的事情。它允许您完全用yaml/json描述您的模式,并且有许多后端,允许您为许多框架和语言生成代码。不幸的是,如果您使用django/drf开发代码,就没有使用swagger作为模式源的选项(但是,后者可以从当前源生成swagger模式)。直到现在!


*获取此包:`pip install djsw_wrapper`
*修改django项目的'settings.py`:
``python


'django.contrib.messages'、
'django.contrib.staticfiles'、
'rest\u framework'、
'djsw'u wrapper'、“<;<;添加此
'stubapp.appapps.stubappconfig'




;此:架构资源(本地文件或url、json或yaml)的完整路径
swagger'u schema='/path/to/swaggger/schema'/schema'/path/to/swaggger/schema'




35;这个(可选,但是建议):
swagger-u-module='swagger-u-python-python-module'u-python-module'name'
`````

*为'url.py`:
`````python
````python
```````````````````````````````````````````````````````````````````````````````````````````````````````````(r“^admin/”,admin.site.url)
]
````

*基本上,您现在都准备好了。但是,如果没有任何控制器(django术语中的“视图”),则可以为它们生成代码(需要填充“swagger”模块设置):
``shell
$python manage.py makeswaggerviews
`````

*go!
`` shell
$python manage.py runserver
```



1。模式解析和路由生成
它解析swagger模式并为其中描述的每个路径创建url模式。接下来,每个路径都绑定到相应的视图(swagger术语中的“controller”)。这种界限是怎么发生的?首先,它尝试导入“settings.py”中指定的“swagger_module”模块。如果没有这样的模块或设置,存根处理程序将在运行时自动生成。如果有一个模块,工具将在每个路径定义中查找“x-swagger-router-controller”属性;如果该属性存在并指向上述“swagger”模块中的可调用视图,则会发生绑定。如果没有,则使用存根。请求处理
当请求到达某个端点(`path`)并且有合适的处理程序(`view`)时,验证和序列化将自动进行。例如,如果将“path”的“parameter”指定为“required”,而请求中不存在该参数,则客户端将收到错误消息。如果存在类型不一致(例如,您指定了整数,但客户端发送了字符串),也会发生同样的情况。如果一切正常,则执行适当的处理程序(`view`)(如果没有发生绑定,则执行存根处理程序)。

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

推荐PyPI第三方库


热门话题
安卓工作室组织。json。JSONException:类型为java。无法将lang.String转换为JSONObject   java将数据从Jenkins参数化构建传递到testng。运行时的xml   java关注使用所有者框架异步打开JDialog   Android java:broadcastReceiver上的蓝牙连接事件未触发   在java中同时处理写入和读取的文件io   javascript如何替换目标数组字符串并将其更改为用户输入字符串   如何终止或停止java小程序中的其他线程   如何通过SeleniumJava连接到putty以执行一组命令并在putty窗口中验证输出   java为什么空列表上的循环会挂起?   java当我单击run时,什么也没有发生   swing Java多监视器问题   proguard java模块版本不匹配   java在facebook sdk 4.0上获取可标记好友+   java Android Fragmens和滑动示例   java导入。VS代码中的jar库   存储在SQL表中的java下载/显示文件   java项目Euler(第14页):递归问题   java如何在springboot中跳过失败的bean以避免报告失败:771>>应用程序启动失败