Create/update 端点返回对象列表
Create/update endpoint returning list of objects
我看过很多 REST 实现示例。
根据他们的说法,create endpoint 有几个响应主体选项:
- 根本没有尸体;
- 创建实体的id;
- 已创建实体 JSON。
例如,我们有一个包含数据的 table,并在 UI 的同一页面上创建了一个表单。
我们不想在创建新实体后重新加载整个页面。
在这种情况下,我们必须调用我们的 API 两次才能正确更新我们的数据:
- POST 创建实体;
- 获取实体列表。
我们不能只从响应正文中为 UI 上的列表添加新实体 JSON,例如如果我们在服务器端有 pagination/sorting。
根据这些信息,我有一个问题。 creating/updating 端点 return 可以立即生成结果列表吗?或者它是否违反了一些最佳实践?为什么?
我们无法避免对数据库的第二次调用,但我们可以避免对 API.
的第二次请求
Could a creating/updating endpoint return a resulted list immediately?
是
does it violate some best practices?
没有
And why
因为 REST 是万维网的架构风格。
你GET
一个网页。它包括一个表格。您填写字段并提交表格。你会得到什么……?
另一个网页。
当您创建机器对机器界面时,同样的基本思想也适用。只有一些简单的变化
- 您可能不想使用专为描述人类显示而设计的媒体类型,而是更喜欢更紧凑的东西
- 您需要稳定的语义,因为在解释隐式模式时机器的适应性不如人类。
我看过很多 REST 实现示例。
根据他们的说法,create endpoint 有几个响应主体选项:
- 根本没有尸体;
- 创建实体的id;
- 已创建实体 JSON。
例如,我们有一个包含数据的 table,并在 UI 的同一页面上创建了一个表单。 我们不想在创建新实体后重新加载整个页面。
在这种情况下,我们必须调用我们的 API 两次才能正确更新我们的数据:
- POST 创建实体;
- 获取实体列表。
我们不能只从响应正文中为 UI 上的列表添加新实体 JSON,例如如果我们在服务器端有 pagination/sorting。
根据这些信息,我有一个问题。 creating/updating 端点 return 可以立即生成结果列表吗?或者它是否违反了一些最佳实践?为什么?
我们无法避免对数据库的第二次调用,但我们可以避免对 API.
的第二次请求Could a creating/updating endpoint return a resulted list immediately?
是
does it violate some best practices?
没有
And why
因为 REST 是万维网的架构风格。
你GET
一个网页。它包括一个表格。您填写字段并提交表格。你会得到什么……?
另一个网页。
当您创建机器对机器界面时,同样的基本思想也适用。只有一些简单的变化
- 您可能不想使用专为描述人类显示而设计的媒体类型,而是更喜欢更紧凑的东西
- 您需要稳定的语义,因为在解释隐式模式时机器的适应性不如人类。