我的JavaScript应用程序使用我正在开发的RESTful API。
通过我的UI编辑和保存记录时,我对/ widget /:id执行PUT,传递完整的数据对象,然后替换并返回整个记录。典型的PUT方法。
但是,我的UI数据模型有时会包含小部件范围之外的额外数据项;例如,数据模型可能包含
如您所见,“类别”是额外数据。如果我序列化我的数据模型(例如,model.toJSON()),那么类及其属性将包含在序列化中。
所以,我的问题是:从理论上的REST角度来看,将上述数据的所有发送到PUT API方法并期望删除方法是可以的在保存之前输出无关的数据密钥?或者,客户端是否应在发出PUT请求之前始终删除额外数据?
答案 0 :(得分:1)
通过向URI发送PUT
请求,客户端告诉服务器他希望该资源的服务器状态如何。服务器决定服务器状态是如何以及是否被chaged。他有两个基本选择。
Accepts
的内容。如果他不接受任何application/json
而只接受application/vnd.your.content.type+json
,他将拒绝category
的JSON,该JSON可能对此类型无效。category
。选项2可以:)