将 json 转换为石墨烯 graphql 响应

Posted

技术标签:

【中文标题】将 json 转换为石墨烯 graphql 响应【英文标题】:Converting json to a graphene graphql response 【发布时间】:2018-03-22 15:31:33 【问题描述】:

我正在使用graphene 和flask 创建一个graphql 服务器。我有一个非常昂贵的查询并且想缓存它。目前,我手动执行模式以获取 JSON 结果,然后将其保存在数据库中。我想我可以在中间件中拦截查询,但不确定如何将我拥有的 JSON 转换为石墨烯知道如何处理的格式

【问题讨论】:

【参考方案1】:

我使用了在这个网站上找到的解决方案:https://www.codementor.io/nikolayderkach/how-to-build-a-graphql-wrapper-for-a-restful-api-in-python-e7w68kcav

import json
from collections import namedtuple

def _json_object_hook(d):
    return namedtuple('X', d.keys())(*d.values())

def json2obj(data):
    return json.loads(data, object_hook=_json_object_hook)

...

class Foo(graphene.ObjectType):
    something = ...

    def resolve_something(self, info):
        ...
        return json2obj(json.dumps(your_json_object))

【讨论】:

以上是关于将 json 转换为石墨烯 graphql 响应的主要内容,如果未能解决你的问题,请参考以下文章

将 json 模型字段与 django 石墨烯一起使用

具有多 InputObjectType 的石墨烯突变

为中继自动生成 graphql 模式(石墨烯服务器)

使用石墨烯和 SQLalchemy 为 GraphQL 设置权限很热门

Python GraphQL 如何声明一个自引用的石墨烯对象类型

具有外键关系的对象的石墨烯中的 GraphQL 突变