【发布时间】:2021-11-06 08:46:43
【问题描述】:
我想使用 HATEOAS 创建一个 REST API 来创建多步骤表单。每个步骤都将是一个单独的端点,提供可供选择的数据,在最后一步中,所有收集的数据都将存储在数据库中。是否有任何设计模式或最佳实践?
谢谢你的回答。
【问题讨论】:
标签: api rest design-patterns asp.net-core-webapi hateoas
我想使用 HATEOAS 创建一个 REST API 来创建多步骤表单。每个步骤都将是一个单独的端点,提供可供选择的数据,在最后一步中,所有收集的数据都将存储在数据库中。是否有任何设计模式或最佳实践?
谢谢你的回答。
【问题讨论】:
标签: api rest design-patterns asp.net-core-webapi hateoas
一般我会采用这种方法:
【讨论】:
我想到的解决这个问题的想法是为编译的每个步骤设置不同的实体。也就是说,起点将有一个描述第一步的动作(可以是一个动作或一个链接,根据您使用的格式,提供或多或少的描述性字段列表),这将返回一个新实体描述第二步的另一个动作,以此类推,直到到达最后一步。
不过,为了尊重 REST/HATEOAS 原则,我认为这将迫使您在服务器上为每个步骤保存实体(可能是短暂的实体,将在最后一步删除并“收集垃圾”通过一些 cron 作业等来避免部分编译以使您的存储混乱),这可能非常笨重。可能有一些方法可以规避这种情况,但我不确定如何。
【讨论】: