我目前正在一个项目中使用 Android 的 Volley 网络库。我已经从以下位置拉下了凌空的主分支https://android.googlesource.com/platform/frameworks/volley/,所以我的库项目应该是最新的,但只支持以下请求方法:
/**
* Supported request methods.
*/
public interface Method {
int DEPRECATED_GET_OR_POST = -1;
int GET = 0;
int POST = 1;
int PUT = 2;
int DELETE = 3;
}
扩展库来支持补丁请求可能不会有太大麻烦,所以我的问题是为什么基础库不支持补丁请求?另外,有人可以建议任何已经添加此支持的好的 git 分支吗?
我终于找到了这个问题的答案。这是非常愚蠢的。问题不在于 Volley 框架。 Java的HTTPUrlConnection不支持PATCH。互联网上有一些方法可以使用 Java Reflection 将方法对象设置为 PATCH,但它们会带来额外的问题。
我终于使用解决了这个问题X-HTTP-Method-Override
标头。我发出了一个带有正文的普通 POST 请求,并添加了如下标头。
X-HTTP-Method-Override: PATCH
它起作用了。不过,您的网络服务器端应该支持方法覆盖。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)