您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将Graphene GraphQL框架与Django REST框架一起使用

如何将Graphene GraphQL框架与Django REST框架一起使用

例如,如果authentication_classes = (TokenAuthentication,)在API视图中使用,则可以将端点添加到以这种方式装饰的GraphQLView中:

# ...
from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.decorators import authentication_classes, permission_classes, api_view

def graphql_token_view():
    view = GraphQLView.as_view(schema=schema)
    view = permission_classes((IsAuthenticated,))(view)
    view = authentication_classes((TokenAuthentication,))(view)
    view = api_view(['GET', 'POST'])(view)
    return view

urlpatterns = [
# ...
    url(r'^graphql_token', graphql_token_view()),
    url(r'^graphql', csrf_exempt(GraphQLView.as_view(schema=schema))),
    url(r'^graphiql', include('django_graphiql.urls')),
# ...

请注意,我们添加一个新的^graphql_token端点,并保留^graphql了GraphiQL工具使用的原始端点。

然后,您应该Authorization在GraphQL客户端中设置标头并指向graphql_token端点。

更新:请参阅此GitHub问题,其中人们提出了替代解决方案和完整的工作示例。

Go 2022/1/1 18:30:11 有346人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶