[英]how to pass post parameter in Django rest swagger?
I have integrated swagger with django rest framework, but the swagger docs does not create a input box to post data for post request.我已经集成了 swagger 和 django rest 框架,但是 swagger 文档没有创建输入框来发布请求的数据。
I am using Function based views with decorator(@api_view)我正在使用基于 Function 的视图和装饰器(@api_view)
@api_view(['GET','POST'])
@permission_classes((AllowAny, ))
@renderer_classes([OpenAPIRenderer, SwaggerUIRenderer])
def preferences(request,format=None):
try:
"logic starts here "
in urls.py i have added:在 urls.py 中我添加了:
schema_view = get_swagger_view(title='API')
path('', schema_view, name="schema_view"),
in settings.py:在 settings.py 中:
SWAGGER_SETTINGS = {
'USE_SESSION_AUTH': False,
'JSON_EDITOR': True,
'api_version': '0.1',
'enabled_methods': [
'GET',
'POST',
],
'SECURITY_DEFINITIONS': {
"api_key": {
"type": "apiKey",
"name": "Authorization",
"in": "header"
},
},
} }
But, when i open the api url i'm getting something like this (in image) where i'm unable to pass the parameters through post但是,当我打开 api url 时,我得到了这样的东西(在图像中),我无法通过 post 传递参数
what can be the problem here?is there any other changes to be done?这里可能是什么问题?是否还有其他更改需要完成?
当您单击Try it Out
链接时,您应该获得输入以填写POST数据
make sure the class is imported from the generics API, example:确保 class 是从 generics API 导入的,例如:
from rest_framework import generics
class Something (generics.GenericAPIView):
serializer_class=SomeSerializer
def post(self,request):
pass
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.