如何使用邮递员测试 Django REST API?

Sha*_*ukh 9 api django django-rest-framework postman

我需要使用邮递员测试 REST API。API 是使用 Django REST 框架构建的。只有登录用户才能访问 API。我无法找到如何使用邮递员发送登录凭据。提前致谢。

class ApiMemberGroupNameList(views.APIView):
    permission_classes = (
        permissions.IsAuthenticated,
        RequiredOrgPermission,
        RequiredOrgStaffMemberPermission)

    def get(self, request, **kwargs):
        pk = kwargs.get('pk')
        hash = kwargs.get('hash')
        member_obj = get_object_or_404(Member.objects.filter(org__hash=hash, pk=pk))
        return Response(GroupListSerializer(member_obj.groups.all(), many=True).data)
Run Code Online (Sandbox Code Playgroud)

JPG*_*JPG 10

您可以Basic Auth在 POSTMAN 中使用。请参阅此屏幕截图:

在此处输入图片说明

您可以在 POSTMAN 控制台中更改HTTP Methods, URLs, Data Payload(在Body选项卡下)等

更新-1

在您发表评论后,我尝试重新创建问题。我所做的是:

  1. 创建了一个视图

    from rest_framework.views import APIView
    from rest_framework.permissions import IsAuthenticated
    from rest_framework.response import Response
    
    class MySampleView(APIView):
        permission_classes = (IsAuthenticated,)
    
    def get(self, request):
        return Response(data={"status": True})
    
    Run Code Online (Sandbox Code Playgroud)
  2. 添加到 urls.py

    urlpatterns = [
                  url(r'^mysampleview/$', MySampleView.as_view())
                  ]
    
    Run Code Online (Sandbox Code Playgroud)

我的邮递员回复如下:

授权截图

标题截图

我的结论

您可能输入了错误的凭据或其他内容。我建议您打开一个新的 POSTMAN 选项卡并重复该过程,同时尝试使用已在 POSTMAN 中使用的相同凭据登录 Django 管理员

  • 我试过这个,但它不起作用。通常 Django 通过会话和 cookie 来改变经过身份验证的用户。 (2认同)