gpt4 book ai didi

Django rest swagger post 参数未显示在 Swagger 文档上

转载 作者:行者123 更新时间:2023-12-05 08:11:58 27 4
gpt4 key购买 nike

我已经将 swagger 与 django rest 框架集成在一起,但是 swagger 文档没有创建输入框来发布发布请求的数据。

我的解析器设置,

REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.FormParser',
'rest_framework.parsers.MultiPartParser',
),

这是我的 View 类片段,`

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:

网址映射:

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'),

]

然后我的 swagger 文档生成, enter image description here

无法将 json 负载作为输入传递给发布请求。

最佳答案

您必须为您的 View 选择一个 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',
),
}

关于Django rest swagger post 参数未显示在 Swagger 文档上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42935252/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com