2016-04-28 52 views
0

我試圖用修改數據修補我的服務器(其餘API春)。改裝:java.net.ProtocolException:未知的方法'PATCH'

我使用的是翻新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

查看翻新文檔,它看起來好像在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。

我的建議是更新到更新版本的改造,避免麻煩。

+0

感謝它幫助我添加okhttp依賴項 – Mrinmoy