私はRelay準拠のGraphQLスキーマで作業していますが、1つの引数(レコードのID)を必要とする入力オブジェクト、または2つの他の引数(レコード番号とレコードのカタログ番号)。私はPythonとGrapheneライブラリを使用しています。ここ数/カタログの代わりに使用されるIDを許さない現在の入力オブジェクトの抜粋です:私はこれを実現するために、インタフェースと労働組合に見てきたGraphQL - 複数の必須入力フィールドに対して 'どちらか'または '
class CreateRecord(relay.ClientIDMutation):
"The parameters of a newly created record."
# Relay-compliant mutations need to specify an input class.
class Input:
"The available inputs for the CreateRecord mutation."
part_id = graphene.Int(description='The ID of the record.')
part_number = graphene.String(description='The record number.',
required=True)
catalog = graphene.String(description='The catalog of the record.',
required=True)
は、しかし、避難所今まで運がなかった。より柔軟な入力オブジェクトがなければ、別の突然変異(例えばCreateRecordUsingID
のようなもの)を作成する必要があります。これを達成する方法はありますか、より一般的にはGraphQLスキーマのこの機能をサポートする方法はありますか?
質問については同じ質問があります。たとえば、ユーザーを照会する場合は、IDまたはユーザー名を入力する必要がありますが、両方を入力する必要はありません。この種の検証がサポートされているかどうかはわかりません。それは共通のパターンのようです。 – jfizz
@jfizz私の答えを参照してください、あなたのケースにも適用されます。 – kaqqao