【发布时间】:2022-08-18 07:51:05
【问题描述】:
我有一种情况,我必须从给定的两个参数中输入一个参数。 假设架构是
input fruit {
apple: Apple
banana: banana
}
现在,如果用户输入苹果,那么他就不能输入香蕉,反之亦然。这在 GraphQL 中可行吗?
-
我会让它们成为可选的,并通过强制执行您描述的规则的方法来创建/更新它们。我相信在 TypeGraphQL 中你可以通过 FieldResolver 来做到这一点。一些 ORM,比如 TypeORM 甚至有像
@BeforeInsert和@BeforeUpdate这样的装饰器,你可以使用它们。 -
就我而言,我只需要接受一个输入(任何一个)。如果用户通过一个输入,那么他不应该能够输入另一个输入。所以,我不能让它们成为可选的。
-
为什么不?您创建一个
InputType,它们都是可选的。在更新/创建之前,您只需验证。如果两者/都没有通过,则返回验证错误。您甚至可以选择是否希望客户传入null或不填写该字段。
标签: kotlin graphql typegraphql apollo-federation netflix-dgs