将json转换为石墨烯graphql响应

问题描述 投票:1回答:1

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

python flask sqlalchemy graphql graphene-python
1个回答
2
投票

我使用了本网站的解决方案: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))
© www.soinside.com 2019 - 2024. All rights reserved.