簡體   English   中英

如何使用 REST API 和 HATEOAS 實現多步表單

[英]How to implement multi-step form with REST API and HATEOAS

我想使用 HATEOAS 創建一個 REST API 來創建多步驟表單。 每個步驟將是一個單獨的端點,提供要選擇的數據,在最后一步,所有收集的數據將存儲在數據庫中。 是否有任何設計模式或最佳實踐?

謝謝你的答案。

我想到的解決這個問題的想法是為編譯的每個步驟設置不同的實體。 也就是說,起點將有一個描述第一步的動作(可以是一個動作或一個鏈接,根據您使用的格式提供或多或少的描述性字段列表),它將返回一個新實體描述第二步的另一個動作,依此類推,直到到達最后一步。

不過,為了尊重 REST/HATEOAS 原則,我認為這將迫使您在服務器上為每個步驟保存實體(可能是短期實體,將在最后一步刪除並由某些 cron 進行“垃圾收集”工作等,以避免部分編譯使您的存儲混亂),這可能非常笨重。 可能有一些方法可以規避這一點,但我不確定如何。

通常我會采取這種方法:

  • 每一步都是它自己的形式。
  • 這些表單中的每一個都提交到特定的端點。
  • 服務器存儲中間步驟並返回“下一步表單”。 您可以將其存儲在諸如 Redis 之類的存儲系統中。
  • 提交最后一個表單時,從中間步驟中獲取所有數據並提交。

暫無
暫無

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

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