补丁请求Android排球

时间:2013-11-05 20:02:23

标签: android android-networking android-volley

我目前正在使用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分支吗?

1 个答案:

答案 0 :(得分:11)

我终于找到了这个问题的答案。这是非常愚蠢的。问题不在于Volley框架。 Java的HTTPUrlConnection不支持PATCH。互联网上有一种方法,它使用Java Reflection将方法对象设置为PATCH,但它们带来了额外的问题。

我终于使用X-HTTP-Method-Override标头解决了这个问题。我用body偶数发出了一个正常的POST请求,然后像下面一样添加这个标题。

X-HTTP-Method-Override: PATCH

它有效。您的Web服务器端应该支持方法覆盖。