【问题标题】:How to mention array of object in hasura graphql action type?如何在 hasura graphql 动作类型中提及对象数组?
【发布时间】:2021-09-07 14:27:47
【问题描述】:

如何在 Hasura graphql(console) 中为以下给定的 API 响应定义 Action 类型?

{
    "data": [
        {
            "name": "Jordan Smith",
            "id": 101,
            "location": "Florida",            
            "speciality_id": 214
        },
        {
            "name": "Cathy Morphy",
            "id": 104,
            "location": "london",
            "speciality_id": 214
        }
    ],
    "count": 2 }

【问题讨论】:

  • 如果您的操作的响应实际上与架构中的现有对象相关。因此,您可以简单地从动作响应中返回 id 并与该 id 建立关系。如果没有,请告诉我们一些有关您的表结构的信息
  • type SearchDoctorsOutput {医生:json count:Int}类型查询{search_doctor(speciality_id:Int搜索:字符串限制:Int offset:Int):SearchDoctorsOutput}类型SearchDoctorsOutput {医生:json count:Int}可以我们这样提到
  • 我认为您不能在输出类型中嵌套对象类型(医生)。我认为这行不通
  • 还有其他选项

标签: graphql hasura


【解决方案1】:

如果您可以控制 API 响应中的内容,并且可以将其更改为只返回一个对象数组(data 中的内容),那么这样的事情应该可以工作:

type Query {
  doctors(specialty_id: Int, search: String, limit: Int, offset: Int): [Doctor]
}

type Doctor {
  name: String
  id: Int
  location: String
  specialty_id: Int
}

如果您无法控制 API 响应,则需要另一层(例如,无服务器函数或另一个服务器端点来请求数据并将响应转换为 Hasura Actions 可以处理的格式)。

另见:

【讨论】:

    猜你喜欢
    • 2021-10-09
    • 2021-12-29
    • 2018-08-15
    • 2019-10-15
    • 2019-11-23
    • 2020-03-29
    • 2021-05-08
    • 2018-02-05
    • 2021-09-12
    相关资源
    最近更新 更多