固定长度的GraphQL列表

固定长度的GraphQL列表,graphql,Graphql,有没有办法在graphQL模式中定义固定长度的列表?比如说 type Foo { # fixedLengthList is valid only when it's length is two fixedLengthList: [String!, String!]! } 欢迎任何建议 解决方案 感谢@xadm和@Daniel Rearden的建议。我在解析器中检查列表的长度。如果列表的长度不是预期的,则抛出一个错误。代码如下所示 Foo:{ 固定长度列表(obj){ 常量列表=

有没有办法在graphQL模式中定义固定长度的列表?比如说

type Foo {
    # fixedLengthList is valid only when it's length is two
    fixedLengthList: [String!, String!]!
}
欢迎任何建议

解决方案 感谢@xadm和@Daniel Rearden的建议。我在解析器中检查列表的长度。如果列表的长度不是预期的,则抛出一个错误。代码如下所示

Foo:{
固定长度列表(obj){
常量列表=getFixedLengthList(obj);
if(list.length!==2)抛出新错误('fixedLengthList的长度应为2,但得到'+list.length');
退货清单;
}
}

GraphQL不支持这种验证。您可以在解析器内部(或在另一个应用程序层)强制执行此逻辑,也可以使用自定义标量。

您可以使用中间件强制执行此操作-如果解析器返回的元素少于或多于两个,则抛出错误。。。同样的输入-抛出错误如果输入不包含两个元素,您可以发布您自己问题的答案