graphql - 我们可以将 GraphQL 查询的结果设置为有条件地返回布尔值或自定义对象类型吗?
问题描述
我正在尝试编写一个检查记录是否存在的 graphql 查询。这里的目标行为是如果记录存在则返回,如果不存在则返回 false。(如果记录不存在,我故意避免它返回错误)。我试过这样的事情:
union VerifyExistenceResult = Boolean | TheRecordType
verifyRecordExists(recordUrl: String!): VerifyExistenceResult!
但工会似乎不支持使用标量。这里有更好的方法吗?
解决方案
假设您有以下 gql 查询。
const GET_RECORD=gql`
query ($skipRecord:Boolean!){
recordUrl
}
`
然后,您必须声明一个名为 localSkipRecord 的局部变量。
现在,当您实际使用查询时,例如使用 hook ,您必须传递以下内容:
{data,loading,error}=useMutation(GET_RECORD,{
variables:{skipRecord:localSkipRecord}
})
推荐阅读
- conda - 这个命令'conda config --set auto_activate_base False or True'对于linux中的anaconda是什么意思
- visual-studio - 特定场景需要哪个 VC Runtime?
- android - RTL 水平 RecyclerView 在 CoordinatorLayout 的 NestedScrollView 内无法正常工作
- java - Oracle 存储函数与查询中的联接
- python - Python如何从字符串中解析2个URL然后将其映射回来?
- android - 是否可以将 Preview、ImageAnalysis 和 VideoCapture 与 CameraX 结合使用?
- spring - Spring Boot Eureka + Zuul 可以在同一个服务上操作吗
- python - Python:我需要一个单例吗?
- c++ - 在循环中声明变量会花费更多的性能吗?
- ffmpeg - FFMPEG - 使用 rclone mount 在 Gdrive 上将 MKV 转换为 MP4。错误:输出文件 #0 不包含任何流