将json转换为石墨烯graphql响应

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将json转换为石墨烯graphql响应相关的知识,希望对你有一定的参考价值。

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

答案

我使用了本网站的解决方案: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))

以上是关于将json转换为石墨烯graphql响应的主要内容,如果未能解决你的问题,请参考以下文章

将 json 模型字段与 django 石墨烯一起使用

具有多 InputObjectType 的石墨烯突变

为中继自动生成 graphql 模式(石墨烯服务器)

使用石墨烯和 SQLalchemy 为 GraphQL 设置权限很热门

如何允许石墨烯GraphQl中的任何字段过滤

Python GraphQL 如何声明一个自引用的石墨烯对象类型