2017-10-11 2 views
0

J'utilise graphene et flask pour créer un serveur graphql. J'ai une requête assez chère et je voudrais la mettre en cache. Actuellement, j'exécute manuellement le schéma pour obtenir un résultat JSON, que je conserve ensuite dans une base de données. Je pense que je peux intercepter la requête dans un middleware, mais pas sûr comment convertir le JSON que j'ai dans un format graphene sait comment gérer.Conversion de json en une réponse graphql graphène

Répondre

0

J'ai utilisé une solution trouvée dans ce site: 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))