1

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

4

1 回答 1

3

我使用了在此站点中找到的解决方案: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))
于 2018-01-31T11:05:11.803 回答