在我的静态服务中,我希望允许用户使用PATCH请求更新资源的某些字段。但是,有一个要求,在更新某些字段时,我必须根据提供的选项在后端执行某些操作。我不想将选项与请求正文中的主要数据混合使用,因此我想出了两种可能的解决方案。
由于在某些情况下选项可以包含一些相对较大的文本,因此我决定通过http标头传递选项。
有人做过吗?我以后可能遇到什么问题吗?真的是好习惯吗?如果没有,我还能怎么做?
我要说的是,这取决于您要成为多少REST纯粹主义者。
我宁愿将选项与主体一起传递,因为该PATCH
方法具有明确定义的语义,但没有定义的数据格式,因此,没有什么可以阻止您在PATCH
主体中发送选项,因为无论如何您都必须记录有效载荷格式。
如果那不是您的选择,那么我说通过查询字符串传递选项是最不希望的,因为URI是原子的,包括查询字符串,并且您正在有效地更改标识符。
使用自定义HTTP标头更可接受,但是您必须记录标头应如何工作。一个较小的问题是HTTP协议未定义标头长度,但是对于大多数实现而言,该限制至少为几个KB,因此这可能不是一个真正的问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句