我浏览了Python石墨烯的文档,它成功了。这是代码-
from graphene import ObjectType, String, Schema
class Query(ObjectType):
hello = String(name=String(default_value="stranger"))
def resolve_hello(root, info, name):
return f'Hello {name}!'
schema = Schema(query=Query)
query = '{ hello(name: "GraphQL") }'
result = schema.execute(query)
print(result.data['hello']) # "Hello GraphQL!"
然而,在将hello
更改为some_field
,将resolve_hello
更改为resolve_some_field
并使query = '{ some_field(name: "GraphQL" }'
时,我得到的最终结果是None。
有没有一种方法可以处理包含下划线的字段?
我不知道石墨烯在幕后是如何将蛇的情况转化为骆驼的情况的。
模式定义中的一切都很完美,但我作为客户端调用它的方式需要更改。
因此,代替
query = '{ some_field(name: "GraphQL" }'
我需要做:
query = '{ someField(name: "GraphQL" }'
因为客户端JavaScript更喜欢这样称呼它。