簡體   English   中英

如何在 Java 中以編程方式創建/生成 GraphQL 查詢

[英]How to create/generate GraphQL query programatically in Java

我是 GraphQL 和 Java 的新手,所以我知道有這個 model:

type Comment {
    id: ID!
    name: String!
    message: String!
}

我需要生成(並發送到 API)這個查詢來插入一個條目:

mutation {
  createComment(data: { name: "Face Mask", message: "face-mask" }) {
    id
    name
  }
}

我正在尋找一種以編程方式在 Java 中使用一些庫生成此字符串的方法,但我找不到任何東西。

我們想知道是否有比編寫“硬編碼”字符串然后替換值更通用的評估方法。

We are running a spring boot server, as a REST API and we need to save the comments in GraphCMS (now Hygraph) besides to a MySql database (already working).

您可以在突變中使用 GraphQL 變量,而不是編寫“硬編碼”字符串然后替換值。

變量需要在您的突變(或查詢或訂閱)中聲明,然后可以在您的操作中的任何地方使用。 變量的值作為額外的 (JSON) object 發送到您的 GraphQL 端點(某種程度上與准備好的 SQL 語句相當)。

mutation CreateComment($name: String!, $message: String!) {
  createComment(data: { name: $name, message: $message }) {
    id
    name
  }
}

變量如何發送到您的 GraphQL API 取決於您的客戶端庫。 通常,您將使用 GraphQL 查詢創建“正常”HTTP POST 請求,但另外還有一個包含變量名稱和值的variables字段作為 object:

{
  "query": "mutation CreateComment($name: String!, $message: String!) .....",
  "variables": {"name":"Face Mask", "message": "face-mask"}
}

更多關於 GraphQL 文檔中的變量: https://graphql.org/learn/queries/#variables

暫無
暫無

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

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