[英]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.