如何在Apollo GraphQL中同时使用@include指令与字段参数
解决方案
你可以直接将$after和$first参数挂载到reviews字段上,字段参数和@include指令可以共存,只需要将参数放在字段名后、指令之前的位置即可,修改后的代码如下:
export const GET_AUTHORIZED_USER = gql` query GetAuthorizedUser( $includeReviews: Boolean! $after: String $first: Int ) { authorizedUser { id username reviews(after: $after, first: $first) @include(if: $includeReviews) { pageInfo { hasPreviousPage hasNextPage startCursor endCursor } edges { cursor node { id repositoryId rating text createdAt user { username } } } } } } `;
即使$includeReviews值为false,你传入的分页参数也不会产生多余的查询开销,不需要单独拆分拉取reviews的查询语句,完全满足你的需求。
内容的提问来源于stack exchange,提问作者Didzis
相关产品推荐
相关产品推荐

