创建/更新端点返回的对象列表

时间:2019-08-28 18:40:50

标签: rest crud api-design

我看过很多REST实现示例。

根据它们,创建端点对于响应正文具有多个选项:

  • 完全没有身体
  • 创建的实体的id;
  • 创建了实体JSON。

例如,我们有一个带有数据的表,并在UI的同一页上创建一个表单。 而且,我们不想在创建新实体后重新加载整个页面。

在这种情况下,我们必须调用两次API才能正确更新数据:

  1. POST以创建实体;
  2. 获取以获取实体列表。

我们不能仅从响应主体中为UI上的列表添加新的实体JSON,例如如果我们在服务器端进行分页/排序。

基于此信息,我有一个问题。创建/更新端点可以立即返回结果列表吗?还是违反某些最佳做法?为什么呢?

我们无法避免再次调用数据库,但是可以避免再次请求API。

1 个答案:

答案 0 :(得分:0)

  

创建/更新端点可以立即返回结果列表吗?

  

它违反某些最佳做法吗?

  

为什么

因为REST是万维网的建筑风格。

GET网页。它包括一个表格。您填写字段并提交表格。你还得到什么...?

另一个网页。

创建机器到机器的界面时,同样的基本思想也适用。仅有一些简单的更改

  • 您可能不想使用设计用于描述人类显示的媒体类型,而希望使用更紧凑的内容
  • 您需要稳定的语义,因为在解释隐式模式时,机器不像人类那样具有适应性。