首页 > 解决方案 > REST API 设计 - 在请求中传递多行 - 保存按钮

问题描述

前端:
前端会有一张桌子。数据将填充到表格的几列中。用户将输入剩余的数据列。该表将有多行。

会有两个按钮。保存并提交。SAVE 按钮用于临时存储数据,SUBMIT 将发送最终要存储的数据。

DB:
每一行代表数据库表中的一条记录

表格和 UI 看起来都一样:

      Column1  Column2  Column3 Column4
----------------------------------------
Row1 | data   |      |  data   |
Row2 | data   |      |  data   |
Row3 | data   |      |  data   |
Row4 | data   |      |  data   |

现在,当用户单击 SAVE 按钮时,我需要使用 REST API 调用将剩余的列信息存储在数据库中。

设计 REST API 的最佳方式是什么?

我心中的问题,
1. 如果是单条记录,我可以使用 PATCH 来做到这一点。但应在请求中传递多行。如何构建我的请求?
2. 我应该使用 POST 吗?
3. 我应该将所有行作为列表传递吗?
4. 如果用户多次点击保存怎么办?这会增加其余呼叫并使网络过载吗?如何有效地处理这个问题?

标签: apirestarchitectureapi-designsystem-design

解决方案


Q1 & Q2 & Q3:您可以根据应用程序的非功能需求(和个人偏好)使用 PATCH 或 POST。请参阅下面的链接以了解如何实现它。

REST:使用一个请求更新多个资源 - 它是标准的还是应该避免的?

PUT、POST 和 PATCH 有什么区别?

Q4:您可以限制您的“保存”按钮。一个简单的实现是在单击“保存”按钮后禁用它。这可以通过 Javascript 轻松实现。然后,一旦您从服务器获得响应(REST API 响应),您就可以显示错误消息(并重新启用“保存”按钮)或根据 REST API 响应显示成功消息。


推荐阅读