簡體   English   中英

我們有什么辦法可以在 GraphQL 中創建通用 API 嗎?

[英]Is any way can we create generic API in GraphQL?

I need to create generic api in graphql using spring boot eg if getAll query returns model class but when in getAll query I sent parameter string which is model class name and it should return the result of that model class. grapgql 文件如下

type Query{
    getAll(clazz : String) : [User]
    getOne(id : ID, clazz : String) : User
}

因此,它應該是通用的並持有相關實體結果的東西,而不是[User]

提前致謝

GraphQL 模式要求您聲明可以從 API 返回的所有字段,因此無法構建可以返回任何類型數據的通用 API。

您擁有的一種選擇是將所有可能的 Model 類型的屬性定義為片段。 下面是一個可以返回CharacterJediDroid類型對象的查詢示例:

query AllCharacters {
  all_characters {

    ... on Character {
      name
    }

    ... on Jedi {
      side
    }

    ... on Droid {
      model
    }
  }
}

在此處找到更多詳細信息。

如果您想構建一個可以真正返回任何內容的 API,您必須將返回的 object 序列化為 JSON(或任何其他字符串格式)並將其作為字符串返回:

type Query{
    getAll(clazz : String) : [String]
    getOne(id : ID, clazz : String) : String
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM