簡體   English   中英

我們可以在 GraphQL 查詢中執行 post/put/delete 操作嗎?

[英]Can we perform post/put/delete operations in GraphQL query?

我在某處讀到查詢僅針對 Get 請求,無法處理請求正文。 但是當我嘗試處理查詢中的突變時,它就起作用了,如果是這樣的話? 那么突變有什么用呢?

PS - 許多網站說突變可用於執行 crud 操作。 但是沒有任何數據存儲,我所有的獲取/發布/放置請求都是獲取數據並且是 rest API。 那我該如何利用異變的力量呢?

GraphQL 是一個單獨的協議。 它不依賴於 HTTP 操作,例如POSTPUTDELETE 因此,在 GraphQL 中, POSTPUTDELETE沒有意義。 相反,GraphQL 有自己的一套操作。 QueryMutationSubscription

Query操作用於從 GraphQL 服務器檢索數據, Mutation用於變異數據。 Subscription用於持續檢索數據。

GraphQL 端點如何處理這些操作完全取決於這些端點的實現者。 它可以是更新數據庫或更改服務器中的文件。 就 GraphQL 而言,Mutation 操作旨在產生副作用,但不一定。 另一方面,查詢操作不應該做那樣的事情。 它應該只讀取數據。 但如果開發人員想違反這些規則,他們可以。

但是,大多數 GraphQL 實現使用 HTTP 作為底層 .network 協議,因為 GraphQL 規范沒有指定 .network 協議。 因此,在內部,GraphQL 服務器將使用 HTTP GETPOST方法處理請求。 但從 GraphQL 的角度來看,它們沒有任何區別。

GraphQl 僅支持 Mutation 的“POST”方法,也支持獲取查詢供您參考,請參閱以下https://graphql.org/learn/serving-over-http/

暫無
暫無

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

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