web-dev-qa-db-ja.com

テスト方法Django REST postmanを使用したAPI?

テストする必要がありますREST postmanを使用したAPI。APIはDjango REST Frameworkを使用して構築されています。ログインユーザーのみがアクセス権を取得できます。 APIへ。postmanを使用してログイン認証情報を送信する方法を見つけることができません。よろしくお願いします。

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)
4
Shahzad Farukh

POSTMANでBasic Authを使用できます。このスクリーンショットを参照してください:

enter image description here

POSTMANコンソールでHTTP MethodsURLsData PayloadBodyタブの下)などを変更できます

UPDATE-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})
    
  2. urls.pyに追加しました

    urlpatterns = [
                  url(r'^mysampleview/$', MySampleView.as_view())
                  ]
    

そして私のポストマンの応答は以下の通りです:

承認スクリーンショット

ヘッダーのスクリーンショット

私の結論

間違った認証情報、または何か他のものを入力するかもしれません。新しいPOSTMANタブを開いて手順を繰り返すことをお勧めします。Django adminは、POSTMANですでに使用されているのと同じ認証情報を使用してログインします

4
JPG