如何解决如何将输入参数传递给石墨烯中的嵌套对象?
我不确定在嵌套类型中传递变量的最佳方法是什么,希望有人已经遇到过同样的情况并且可以提供帮助。
代码示例是:
class UserType(ObjectType):
firstname = String(required=True)
def resolve_firstname(parent,info):
user = get_user_by_id()
return user.firstname
class UserResult(Union):
class Meta:
types = [UserType,ErrorError,]
class Query(ObjectType):
user = Field(
UserResult,user_id=String(required=True)
)
async def resolve_user(parent,info,user_id):
result = UserType()
# or return error from Union
return result
GraphQL 查询看起来:
query{
user(user_id: "uuid_here") {
... on UserType {
data
}
... on SomeError {
message
}
}
}
我正在使用 Union 来提供有关在架构中返回类型的信息。 我可以访问 resolve_user 中的 user_id,但我需要 UserType 的 * resolve_firstname* 中的这个值。在这种情况下,我需要传递这个变量。
有什么方法可以做到这一点? 我可以修改 UserType 并在 firstname = String(required=True) 附近添加 user_id 并通过这种方式传递 user_id - UserType(user_id=user_id)。但在这种情况下,user_id 将在架构中可用。
在石墨烯的自定义类型中使用__init__
方法是否正确?在这种情况下,我将能够使用变量并将其从 graphql 的模式中隐藏起来。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。