0

我的 JavaScript 应用程序使用我正在开发的 RESTful API。

通过我的 UI 编辑和保存记录时,我对 /widget/:id 执行 PUT,传递一个完整的数据对象,然后替换并返回整个记录。典型的 PUT 方法。

但是,我的 UI 数据模型有时会包含小部件范围之外的额外数据项;例如,数据模型可能包含

  • ID
  • 姓名
  • 类别ID
  • 价格
  • 类别 <--- 额外数据
    • ID
    • 姓名

如您所见,“类别”是额外的数据。如果我序列化我的数据模型(例如,model.toJSON()),那么类别及其属性将包含在序列化中

所以,我的问题是:从理论上的 REST 角度来看,是否可以将上述所有数据发送到 PUT API 方法并期望该方法在保存之前去除无关的数据键?或者,客户端是否应该总是在发出 PUT 请求之前删除额外的数据?

4

1 回答 1

1

通过向 URI 发送PUT请求,客户端告诉服务器他希望该资源的服务器状态如何。服务器决定如何以及是否更改服务器状态。他有两个基本选择。

  1. 检查请求正文是否符合服务器的要求Accepts。如果他不只接受 a 以外的任何application/json内容application/vnd.your.content.type+json,他将拒绝category可能对这种类型无效的 JSON。
  2. 接受请求并默默地丢弃多余的category.

选项2可以:)

于 2013-10-29T20:14:51.490 回答