0
我正在使用graphene和flask来创建graphql服务器。我有一个相当昂贵的查询,并希望缓存它。目前我手动执行模式来获得JSON结果,然后我坚持在数据库中。我想我可以在中间件中拦截查询,但不知道如何将JSON转换为格式石墨烯知道如何处理。将json转换为石墨烯graphql响应
我正在使用graphene和flask来创建graphql服务器。我有一个相当昂贵的查询,并希望缓存它。目前我手动执行模式来获得JSON结果,然后我坚持在数据库中。我想我可以在中间件中拦截查询,但不知道如何将JSON转换为格式石墨烯知道如何处理。将json转换为石墨烯graphql响应
我曾经在这个网站找到了一个解决方案: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))