2017-10-11 63 views
0

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

回答

0

我曾经在这个网站找到了一个解决方案: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))