作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 django-rest-framwork 和 django-rest-swagger。
问题是我直接从请求的主体中获取数据:
def put(self, request, format=None):
"""
This text is the description for this API
username -- username
password -- password
"""
username = request.DATA['username']
password = request.DATA['password']
但是当我尝试来自 swagger-ui 的请求时,我无法指定“参数类型”(这是默认查询,无法找到从文档字符串更改它的方法)
我设法通过更改文件 “introspectors.py” 中函数 build_query_params_from_docstring 中的某些行来解决我的问题,但我想知道是否还有其他方法去做吧。
最佳答案
更新:此答案仅适用于 django-rest-swagger < 2,请参阅下面@krd 的评论。
文档:http://django-rest-swagger.readthedocs.org/en/latest/yaml.html
如果你想放置表单数据:
def put(self, request, format=None):
"""
This text is the description for this API.
---
parameters:
- name: username
description: Foobar long description goes here
required: true
type: string
paramType: form
- name: password
paramType: form
required: true
type: string
"""
username = request.DATA['username']
password = request.DATA['password']
对于 JSON 正文,您可以执行以下操作:
def put(...):
"""
...
---
parameters:
- name: body
description: JSON object containing two strings: password and username.
required: true
paramType: body
pytype: RequestSerializer
"""
...
关于python - django-rest-swagger : How can I specify the parameter type in the docstring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26832510/
我是一名优秀的程序员,十分优秀!