【发布时间】:2018-08-27 05:30:22
【问题描述】:
我想在错误响应中添加状态字段,所以不要这样:
{
"errors": [
{
"message": "Authentication credentials were not provided",
"locations": [
{
"line": 2,
"column": 3
}
]
}
],
"data": {
"viewer": null
}
}
应该是这样的:
{
"errors": [
{
"status": 401, # or 400 or 403 or whatever error status suits
"message": "Authentication credentials were not provided",
"locations": [
{
"line": 2,
"column": 3
}
]
}
],
"data": {
"viewer": null
}
}
我发现我只能通过在解析器中引发异常来更改消息:raise Error('custom error message'),但是如何添加字段?
代码示例:
class Query(UsersQuery, graphene.ObjectType):
me = graphene.Field(SelfUserNode)
def resolve_me(self, info: ResolveInfo):
user = info.context.user
if not user.is_authenticated:
# but status attr doesn't exist...
raise GraphQLError('Authentication credentials were not provided', status=401)
return user
【问题讨论】:
-
你能提供一些代码吗,这是突变吗?
-
@MauricioCortazar,已添加
标签: graphene-python