CNode

为delete请求如何传参和前端开撕,我该怎么办?

分享
JJarvisQJ发布于9 年前最后回复9 年前2 回复15539 浏览0 收藏

api原定delete请求传参放在body里面,但是iOS那边说用的HTTP框架不支持放在body,默认使用URL上拼接;还说标准做法是delete传参在head进行拼接。 说实在,我并不清楚所谓标准,查的资料说的也不是很清楚。 目前要改成URL拼接传参,其他所有delete接口都得改,web和安卓那边已经对接的delete接口方面也要做较多改动。请教各位,我如何处理?

查看回复

回复 (2)

Y
yszou#1·9 年前

https://tools.ietf.org/html/rfc2616#section-4.3 可以看到:

A message-body MUST NOT be included in a request if the specification of the request method (section 5.1.1) does not allow sending an entity-body in requests.

但是在 https://tools.ietf.org/html/rfc2616#section-9.7 对 DELETE 方法的描述中,并没有说不能有。

这里还有一些讨论:https://stackoverflow.com/questions/299628/is-an-entity-body-allowed-for-an-http-delete-request

总的来说,从标准的角度,就是“没有说不能有”。但是,确实有些服务端实现,会忽略 DELETE 方法的 body 部分的。


但是iOS那边说用的HTTP框架不支持放在body

你说让他换一个框架,或者叫他自己重新写一个就好了啊。

目前要改成URL拼接传参,其他所有delete接口都得改,web和安卓那边已经对接的delete接口方面也要做较多改动。请教各位,我如何处理?

这个年代,服务端同时支持从 URI 和 body 中取参数,不是什么困难的事吧。

J
JarvisQJ#2·9 年前
引用 yszou从 https://tools.ietf.org/html/rfc2616 section 4.3 可以看到: A message body MUST NOT be included in a...

@yszou 谢谢,看了你挂的几个链接,技术上说,用body传参没有问题。不过为了和谐,我决定实现你的最后一句话。

参与回复
登录后即可参与回复。登录