Я использую graphene и flask для создания сервера graphql. У меня есть довольно дорогой запрос, и я хотел бы его кэшировать. В настоящее время я вручную запускаю схему, чтобы получить результат JSON, который затем сохраняю в базе данных. Я думаю, что могу перехватить запрос в промежуточном программном обеспечении, но не уверен, как преобразовать JSON, который у меня есть, в формат, который графен умеет обрабатывать.
Преобразование json в графеновый ответ graphql
Ответы (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))
person
cardoso
schedule
31.01.2018