[英]Can we perform post/put/delete operations in GraphQL query?
我在某處讀到查詢僅針對 Get 請求,無法處理請求正文。 但是當我嘗試處理查詢中的突變時,它就起作用了,如果是這樣的話? 那么突變有什么用呢?
PS - 許多網站說突變可用於執行 crud 操作。 但是沒有任何數據存儲,我所有的獲取/發布/放置請求都是獲取數據並且是 rest API。 那我該如何利用異變的力量呢?
GraphQL 是一個單獨的協議。 它不依賴於 HTTP 操作,例如POST
、 PUT
或DELETE
。 因此,在 GraphQL 中, POST
、 PUT
或DELETE
沒有意義。 相反,GraphQL 有自己的一套操作。 即Query
、 Mutation
和Subscription
。
Query
操作用於從 GraphQL 服務器檢索數據, Mutation
用於變異數據。 Subscription
用於持續檢索數據。
GraphQL 端點如何處理這些操作完全取決於這些端點的實現者。 它可以是更新數據庫或更改服務器中的文件。 就 GraphQL 而言,Mutation 操作旨在產生副作用,但不一定。 另一方面,查詢操作不應該做那樣的事情。 它應該只讀取數據。 但如果開發人員想違反這些規則,他們可以。
但是,大多數 GraphQL 實現使用 HTTP 作為底層 .network 協議,因為 GraphQL 規范沒有指定 .network 協議。 因此,在內部,GraphQL 服務器將使用 HTTP GET
和POST
方法處理請求。 但從 GraphQL 的角度來看,它們沒有任何區別。
GraphQl 僅支持 Mutation 的“POST”方法,也支持獲取查詢供您參考,請參閱以下https://graphql.org/learn/serving-over-http/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.