ios - 如何在 hasura 中修改 GraphQL 响应?
问题描述
我想修改 hasura fetch 查询的响应。
目前的回应是这样的:
{
"data": {
"ids": [
{
"id_object": {
"id": 33102
}
},
{
"id_object": {
"id": 33104
}
}
]
}
}
我想删除“id_object”,只想要这样的 id 数组:
{
"data": {
"ids": [
{
"id": 33102
},
{
"id": 33104
}
]
}
}
解决方案
GraphQL 服务器公开了一组精确的操作以及这些操作的允许响应的形状。因此,在与任何 GraphQL 服务器(Hasura 或其他)交互时,不可能任意修改返回数据的形状。
当您在客户端收到数据时,您可以自由地将其映射到新表单中。
如果您确实需要服务器本身能够使用此形状进行响应,则需要扩展 Hasura 的模式以能够专门支持此查询模式。
有许多不同的方法可以实现这一点:
- 你可以编写一个自定义Hasura Action
- 您可以从您自己的 GraphQL 服务器公开此查询,然后使用远程模式将其与 Hasura 拼接在一起
- 您可以使用 Postgres视图或函数根据需要调整数据并将其公开为新操作
推荐阅读
- android - Flutter:任务':cloud_firestore:compileDebugJavaWithJavac'的执行失败
- python - 如何使 djangocms-admin 风格的标志动态化?
- apache-spark - 如何管理 Nifi ExecuteSparkINteractive 处理器中的“等待”状态?
- javascript - “未捕获的 TypeError:content.getElementById 不是函数”
- r - Re: 如何在 Shiny 中重置 fileInput 的值?
- reactjs - 我无法读取 Oraclize 查询的结果,但我可以成功调用它
- wordpress - 将 WordPress 复制到 xampp:恢复数据库后无法连接
- python - python中有没有办法从谷歌表中计算一系列行(从第一行数据到最后一行数据)?
- r - 有没有办法进行条件回归?
- java - 如何在java中将矩阵逆时针旋转90度?