【问题标题】:How to implement multi-step form with REST API and HATEOAS如何使用 REST API 和 HATEOAS 实现多步表单
【发布时间】:2021-11-06 08:46:43
【问题描述】:

我想使用 HATEOAS 创建一个 REST API 来创建多步骤表单。每个步骤都将是一个单独的端点,提供可供选择的数据,在最后一步中,所有收集的数据都将存储在数据库中。是否有任何设计模式或最佳实践?

谢谢你的回答。

【问题讨论】:

    标签: api rest design-patterns asp.net-core-webapi hateoas


    【解决方案1】:

    一般我会采用这种方法:

    • 每个步骤都有自己的形式。
    • 这些表单中的每一个都提交到特定的端点。
    • 服务器存储中间步骤并返回“下一步表单”。您可以将其存储在 Redis 等存储系统中。
    • 当最后一个表单提交时,从中间步骤中取出所有数据并提交。

    【讨论】:

    • 是的。这正是我解决它的方法:)
    【解决方案2】:

    我想到的解决这个问题的想法是为编译的每个步骤设置不同的实体。也就是说,起点将有一个描述第一步的动作(可以是一个动作或一个链接,根据您使用的格式,提供或多或少的描述性字段列表),这将返回一个新实体描述第二步的另一个动作,以此类推,直到到达最后一步。

    不过,为了尊重 REST/HATEOAS 原则,我认为这将迫使您在服务器上为每个步骤保存实体(可能是短暂的实体,将在最后一步删除并“收集垃圾”通过一些 cron 作业等来避免部分编译以使您的存储混乱),这可能非常笨重。可能有一些方法可以规避这种情况,但我不确定如何。

    【讨论】:

      猜你喜欢
      • 2015-05-06
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 2016-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-23
      相关资源
      最近更新 更多