在执行补丁请求时,可以在http头中传递json字符串以向服务器提供选项吗?
在我的restful服务中,我希望允许用户使用补丁请求更新资源的某些字段。但是,在更新某些字段时,需要根据提供的选项在后端执行某些操作。我不想将选项与请求主体中的主要数据混合在一起,因此我提出了两种可能的解决方案在执行补丁请求时,可以在http头中传递json字符串以向服务器提供选项吗?,json,rest,http,Json,Rest,Http,在我的restful服务中,我希望允许用户使用补丁请求更新资源的某些字段。但是,在更新某些字段时,需要根据提供的选项在后端执行某些操作。我不想将选项与请求主体中的主要数据混合在一起,因此我提出了两种可能的解决方案 通过查询字符串传递选项 通过http头将选项作为json字符串传递 因为在某些情况下,选项可能包含一些相对较大的文本,所以我决定通过http头传递选项 以前有人这样做过吗?有什么可能的问题我以后可以面对吗?这是一种好的做法吗?如果不是的话,我怎么才能做到这一点呢?我想说,这取决于你想成
以前有人这样做过吗?有什么可能的问题我以后可以面对吗?这是一种好的做法吗?如果不是的话,我怎么才能做到这一点呢?我想说,这取决于你想成为一个多么纯粹的休息者 我更愿意将选项与正文一起传递,因为
PATCH
方法具有明确定义的语义,但没有定义的数据格式,因此,没有任何东西阻止您在PATCH
正文中发送选项,因为您无论如何都必须记录有效负载格式
如果这不是您的选项,我认为通过查询字符串传递选项是最不可取的,因为URI是原子的,包括查询字符串,并且您实际上在更改标识符
使用自定义HTTP头更容易接受,但您必须记录该头应该如何工作。一个小问题是HTTP协议未定义头长度,但大多数实现的限制至少为几KB,因此,这可能不是一个真正的问题。请更详细地描述为什么您认为“选项”不是您在
补丁
请求正文中发送的资源表示的一部分;但如果您想尝试JSON编码的头字段,您可能需要查看