2016-04-28 3 views
0

Я пытаюсь получить данные PATCH с помощью Дооснастки на моем сервере (Spring API Spring).Модернизация: java.net.ProtocolException: Неизвестный метод 'PATCH'

Я использую retrofit 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

Смежные вопросы