Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
改型:java.net.ProtocolException:Unknown method';补丁';_Java_Android_Retrofit - Fatal编程技术网

改型:java.net.ProtocolException:Unknown method';补丁';

改型:java.net.ProtocolException:Unknown method';补丁';,java,android,retrofit,Java,Android,Retrofit,我正试图通过对我的服务器(RESTAPI spring)进行改造来修补数据 我使用的是改装版1.9.0 D/Retrofit: ---> HTTP PATCH http://myserver/... .... D/Retrofit: ---> END HTTP (220-byte body) D/Retrofit: ---- ERROR http://myserver/... D/Retrofit: java.net.ProtocolException: Unknown method

我正试图通过对我的服务器(RESTAPI spring)进行改造来修补数据

我使用的是改装版1.9.0

D/Retrofit: ---> HTTP PATCH http://myserver/...
....
D/Retrofit: ---> END HTTP (220-byte body)
D/Retrofit: ---- ERROR http://myserver/...
D/Retrofit: java.net.ProtocolException: Unknown method 'PATCH'; must be one of [OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE]
    at java.net.HttpURLConnection.setRequestMethod(HttpURLConnection.java:665)
    at retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:37)
    at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:326)
    at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
    at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
    at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
    at retrofit.Platform$Android$2$1.run(Platform.java:142)
    at java.lang.Thread.run(Thread.java:856)
D/Retrofit: ---- END ERROR

我不知道怎么解决这个问题。有什么想法吗?

看看改装文档,2.0及更高版本似乎支持它。否则,请更新gradle依赖项以使用:

dependencies {
    compile 'com.squareup.retrofit:retrofit:1.9'
    compile 'com.squareup.okhttp:okhttp:2.0.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
}
问题在于内置的HttpUrlConnection。你需要使用 改为使用OkHttp或Apache HttpClient


我的建议是更新到更新版本的改装,避免麻烦。

查看改装文档,2.0及更高版本似乎支持它。否则,请更新gradle依赖项以使用:

dependencies {
    compile 'com.squareup.retrofit:retrofit:1.9'
    compile 'com.squareup.okhttp:okhttp:2.0.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
}
问题在于内置的HttpUrlConnection。你需要使用 改为使用OkHttp或Apache HttpClient

我的建议是更新到更新版本的改造,避免麻烦