我有以下环境:
前端
@vue/cli 4.1.2
vue-阿波罗3.0.2
后端
python 3.8
django 3.0.2
石墨烯-django 2.8.0
django-graphql-jwt 0.3.0
我的问题是在令牌过期时处理auth错误。例如,如果在令牌过期时请求查询me:
def resolve_me(root, info):
user = info.context.user
if user.is_anonymous:
raise GraphQLError('Authentication failure!!')
return user在阿波罗客户端的链接中,接收一个200,networkError对象为空,而graphQLErrors对象不提供状态代码。
您是如何处理这种情况的?提前谢谢。
发布于 2020-08-02 01:32:13
查看下面的评论https://github.com/graphql-python/graphene/issues/142#issuecomment-221290862
据我所知,从
规范中可以看出,根本没有讨论过http响应代码。HTTP的状态代码与rest原则紧密相连。我不清楚GraphQL API是否应该区分2XX和4XX状态代码。
最值得注意的是,您可以将多个突变批次到对服务器的同一个请求中。如果一个成功地创建了一个资源(201),一个变异了一个资源(200),一个失败了验证(400),另一个目标对象不存在(404),那么API的返回值应该是什么?
目前,除非服务器崩溃,否则GraphQL APIs似乎会出错200,在这种情况下是500.。
https://stackoverflow.com/questions/59936084
复制相似问题