[英]Django rest swagger post parameter not getting displayed on Swagger docs
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 docs没有创建输入框来发布用于发布请求的数据。
My settings for parser, 我的解析器设置
REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.FormParser',
'rest_framework.parsers.MultiPartParser',
),
} }
Here is my view class snippet,` 这是我的视听片段,
class TeamViewList(APIView, BaseView):
"""
Class based view to handle all operations related to Team Model
"""
logger = logging.getLogger(__name__)
def get_serializer(self):
return serializers.TeamSerializer
def post(self, request):
"""
To create a new team
"""
try:
urlmapping: 网址映射:
urlpatterns = [
url(r'^role/$', rest_views.UserTeamRoleView.as_view(), name='user_team_role'),
url(r'^teams/$', rest_views.TeamViewList.as_view(), name='team_list'),
url(r'^teams/(?P<name>[_a-zA-Z0-9\-]+)$', rest_views.TeamViewDetail.as_view(), name='team_detail'),
] ]
And my swagger doc generates, 我的招摇的文档生成了
There is no way to pass the json payload as input to post request. 没有办法将json负载作为输入传递到发布请求。
You must choose a PARSER
for your view or add DEFAULT_PARSER_CLASSES
to your DRF settings to see form or json object on Swagger. 您必须为视图选择一个
PARSER
或将DEFAULT_PARSER_CLASSES
添加到DRF设置中才能在Swagger上查看表单或json对象。
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_FILTER_BACKENDS': (
'rest_framework.filters.SearchFilter',
'rest_framework.filters.OrderingFilter',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'helpers.authentication.TokenAuthentication',
),
'DEFAULT_MODEL_SERIALIZER_CLASS': (
'rest_framework.serializers.ModelSerializer',
),
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.FormParser',
'rest_framework.parsers.MultiPartParser',
),
}
The following method should return an instance not a class: 以下方法应返回实例而不是类:
def get_serializer(self): return serializers.TeamSerializer
BTW, it was failing for me on DRF 3.6.2
even using an instance instead of a class. 顺便说一句,在DRF
3.6.2
上我失败了,即使使用实例而不是类也是如此。 However, it looks like has been fixed here 但是,它似乎已在此处修复
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.