Update and HTTP patch

So, I want to make a PATCH request using Retrofit, but currently I can not add okhttp to my class path. When I try to execute a PATCH request, I get the stack trace below. Is there any other way that I could use Patch without using okhttp?

    java.net.ProtocolException
        at java.net.HttpURLConnection.setRequestMethod(HttpURLConnection.java:644)
        at retrofit.client.UrlConnectionClient.prepareRequest(UrlConnectionClient.java:50)
        at retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:37)
        at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:358)
        at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:264)
        at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:315)
        at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
        at retrofit.Platform$Android$2$1.run(Platform.java:142)
        at java.lang.Thread.run(Thread.java:1019)
06-09 10:53:09.349    1809-1897/**.****.****** D/Retrofit﹕ ---- END ERROR
+2
source share
1 answer

This is a limitation HttpUrlConnection. You can use Apache or OkHttp, which support PATCHas an alternative client. This can be done explicitly in the builder:

RestAdapter restAdapter = new RestAdapter.Builder()
    .setEndpoint(..)
    .setClient(new OkClient())
    .build()

, X-HTTP-Method-Override . POST, PATCH . , .

, Retrofit UrlConnectionClient , HTTP. , , , .

+4

All Articles