简体   繁体   English

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

[英]How to test Django REST API using postman?

I need to test REST API using postman.我需要使用邮递员测试 REST API。 API is build using Django REST Framework. API 是使用 Django REST 框架构建的。 Only login user can get access to API.只有登录用户才能访问 API。 I am not able to find how I can send login credentials using postman.我无法找到如何使用邮递员发送登录凭据。 Thanks in advance.提前致谢。

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)

You can use Basic Auth in POSTMAN.您可以在 POSTMAN 中使用Basic Auth身份Basic Auth Refer to this screenshot:请参阅此屏幕截图:

在此处输入图片说明

You could change the HTTP Methods , URLs , Data Payload (under Body tab) etc in the POSTMAN console您可以在 POSTMAN 控制台中更改HTTP MethodsURLsData Payload (在Body选项卡下)等

UPDATE-1更新-1

After your comments, I tried to recreated the problem.What I did was:在您发表评论后,我尝试重新创建问题。我所做的是:

  1. created a view创建了一个视图

    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. Added to urls.py添加到urls.py

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

And my POSTMAN response are below:我的邮递员回复如下:

Authorization Screenshot授权截图

Header Screenshot标题截图

My conclusion我的结论

You may enter wrong credentials, or something else.您可能输入了错误的凭据或其他内容。 I would suggest you open a new POSTMAN tab and repeat the procedure, also try to login Django admin using the same credential which is already used in POSTMAN我建议您打开一个新的 POSTMAN 选项卡并重复该过程,同时尝试使用已在 POSTMAN 中使用的相同凭据登录 Django 管理员

If you want to use Basic Authentification to test Django REST API, it must be allowed in Django REST Framework settings:如果要使用基本身份验证来测试 Django REST API,则必须在 Django REST Framework 设置中允许:

'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.BasicAuthentication',
...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用Django通过Postman或Rest API Framework在MySql数据库中插入(添加)JSON数据? - How to insert(Add) JSON data in MySql database through Postman or Rest API Framework using Django? 如何在Django中测试登录Rest API? - How to test login rest api in django? 如何使用邮递员从Django Rest Framework获取令牌 - How to get Token from Django Rest Framework using postman 如何使用Django-oauth-toolkit进行身份验证,使用Django-rest-framework测试API端点 - How to test an API endpoint with Django-rest-framework using Django-oauth-toolkit for authentication 如何使用Postman使用参数命中Django api? - How can I hit Django api with parameters using Postman? 使用 Postman 的 Django API REST 错误:“详细信息”:“未提供身份验证凭据。” - Django API REST error using Postman: “detail”: “Authentication credentials were not provided.” 如何在 Django 中使用 AJAX 显示 rest api? - How to display rest api using AJAX in Django? 如何在 django rest api 测试中的 GET 请求中发送数据 - How to send data in GET request in django rest api test Django Tastypie通过PostMan REST客户端与API交互 - Django Tastypie interaction with the API through PostMan REST client 获取用户的最后一条消息 django-postman & Rest API - Get user's last message django-postman & Rest API
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM