簡體   English   中英

從另一個變異中調用GraphQL變異?

[英]Calling GraphQL mutation from another mutation?

是否有可能在突變中對另一個graphqlType進行突變? 我不確定這是不是一個好主意。 理想情況下,為每個graphql數據類型創建突變然后在需要時調用每個函數會很好。 希望這會使事情變得更加干燥。

例如,我有2個graphql類型“projects”和“rooms”。 對於每個項目,都需要創建一個房間,並將ID放在項目中以供日后參考。

我看到3種方法:

  • 從前端開始 ,運行2個不同的graphql查詢(用於新項目和新房間),最后一個用新房間ID更新項目。
  • 在后端/ graphql服務器上 為簡單起見,只需處理一個解析函數內的所有db調用,返回項目和創建的房間。
  • 在突變中運行突變。 從項目創建函數調用房間創建函數,並返回兩個數據集。

還在用graphql學習繩索,所以任何關於什么是良好實踐的見解都會很棒。

我確定你很久以前就找到了解決問題的方法,但為什么不做一個捕獲整個過程的變異,比如createProjectAndRoom 我認為將GraphQL解析器視為非常嚴格地映射到單個模型上的單個操作是錯誤的。

最常見的方法是使用afterInsert (或類似命名的)鈎子。 因此,在這種情況下,在創建“房間”之后,在插入后掛鈎期間創建“項目”。

暫無
暫無

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

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