- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将状态字段添加到错误响应中,而不是这样:
{
"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
最佳答案
更新默认 GraphQLView
具有以下内容:
from graphene_django.views import GraphQLView as BaseGraphQLView
class GraphQLView(BaseGraphQLView):
@staticmethod
def format_error(error):
formatted_error = super(GraphQLView, GraphQLView).format_error(error)
try:
formatted_error['context'] = error.original_error.context
except AttributeError:
pass
return formatted_error
urlpatterns = [
path('api', GraphQLView.as_view()),
]
context
引发的任何异常中的属性。如果它存在,它将使用此数据填充错误。
context
的不同用例创建异常(exception)。属性。在这种情况下,您想将状态代码添加到错误中,这是您如何执行此操作的示例:
class APIException(Exception):
def __init__(self, message, status=None):
self.context = {}
if status:
self.context['status'] = status
super().__init__(message)
raise APIException('Something went wrong', status=400)
关于graphene-python - 如何为 Graphite 烯/django-graphene 中的错误返回自定义 JSON 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49349689/
我正在尝试通过 django-graphene 提供 graphql 端点。我有以下型号: class BaseModel(models.Model): fk = models.Foreign
目前我正在研究使用 Graphite 烯来构建我的 Web 服务器 API。我使用 Django-Rest-Framework 已经有一段时间了,想尝试一些不同的东西。 我已经想出如何将它与我现有的项
当使用以下模式时,我在查询产品时总是得到空值。根据我对文档的理解,它应该返回一个包含 2 个包含 id 和 name 的对象的数组。谁能帮助我理解为什么以下代码不起作用? import graphen
我是 Graphite 烯的新手,我正在尝试将以下结构映射到对象类型,但完全没有成功 { "details": { "12345": { "txt1": "9",
我正在编写一个 Graphite 烯/django ORM 查询,我需要在我的所有查询结果对象上聚合特定字段的值并将其与查询一起返回。不太确定如何做到这一点,因为这涉及一些后期处理。如果有人可以提供一
实际上我想获取一个带有 @FindBy 的元素,该元素用于页面对象模式。 我有 2 个类,第一个是名为 TestPage 的页面对象,第二个名为 PageSaveTest (我的测试在其中进行并调用
我对 Django 和 Graphene 都很陌生,无法解决一个可能相当简单的问题,但我没有通过文档或谷歌找到答案。 假设我有以下模型: class Law(models.Model): ye
我是 GraphQL 的新手,我正在尝试进行这样的查询 { user(username: "Jon") { name last_lame username
我在 python 中使用 GraphQL,试图解析列表数据,但字段解析为空。我怎样才能让他们返回实际的列表数据? 这是我的代码片段 import graphene class User(graphe
我正在尝试创建一个接受复杂参数对象的查询,如下所示: class Pair(graphene.ObjectType): x = graphene.Int() y = graphene.Int(
我已经成功地使用 Graphene-Django 成功构建了几个 GraphQL 调用。在所有这些情况下,我全部或部分填充了 Django 模型,然后返回了我填充的记录。 现在我想返回一些我不想存储在
如果我有一个 Django 模型,字段名称是这样的法语(nom 是 name 的法语翻译): class Categorie(models.Model): nom = models.CharF
如果我有一个 Django 模型,字段名称是这样的法语(nom 是 name 的法语翻译): class Categorie(models.Model): nom = models.CharF
我目前在突变枚举 Argument 上遇到困难。 下面是我的Mutation代码: class CreatePerson(graphene.Mutation): foo = graphene.
我正在尝试传递 json 字段作为我的 graphql 突变的输入。我一直在尝试和寻找,但没有运气。我可以通过定义 graphene.List(graphene.String) 来很好地传递数组,我知
我安装了最新的graphene来 self 的 Debian 6.0 Linux 服务器上的 /opt/graphene 中的 github。我正在尝试编写一个 graphite仪表板 graphen
我已经使用 Django 设置了一个 Graphite 烯服务器。当我通过 GraphiQL(Web 客户端)运行查询时,一切正常。但是,当我从其他任何地方运行时,出现错误:“必须提供查询字符串。”
我用 graphene-django .创建应用程序,GraphiQL适用于登录和其他功能。但是当我使用 Insomnia , 我得到一个 403 Forbidden错误。 我引用了这个文档, htt
上下文:我正在设计一个事件驱动的 Python 应用程序。各个利益相关者要求我研究在 Azure Functions 上运行的无服务器环境中使用 GraphQL 端点部署应用程序的选项。最终目标是随着
我正在使用graphene和flask来创建一个graphql服务器。我有一个非常昂贵的查询,并且想缓存它。目前,我手动执行架构以获取 JSON 结果,然后将其保存在数据库中。我认为我可以在中间件中拦
我是一名优秀的程序员,十分优秀!