补丁请求Android排球

Sub*_*sed 9 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;
}
Run Code Online (Sandbox Code Playgroud)

扩展库以支持补丁请求可能不会太麻烦,所以我的问题是为什么基本库不支持补丁请求?此外,有人可以建议任何已添加此支持的好git分支吗?

tas*_*iac 11

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

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

X-HTTP-Method-Override: PATCH
Run Code Online (Sandbox Code Playgroud)

它起作用了.您的Web服务器端应该支持方法覆盖.