我目前正在使用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分支吗?
答案 0 :(得分:11)
我终于找到了这个问题的答案。这是非常愚蠢的。问题不在于Volley框架。 Java的HTTPUrlConnection不支持PATCH。互联网上有一种方法,它使用Java Reflection将方法对象设置为PATCH,但它们带来了额外的问题。
我终于使用X-HTTP-Method-Override
标头解决了这个问题。我用body偶数发出了一个正常的POST请求,然后像下面一样添加这个标题。
X-HTTP-Method-Override: PATCH
它有效。您的Web服务器端应该支持方法覆盖。