2014-01-14 99 views
0

似乎是抄寫員中的一個錯誤。它是利用java.net.HttpURLConnection中這是僅限於Scribe PATCH請求不起作用

/* valid HTTP methods */ 
private static final String[] methods = { 
    "GET", "POST", "HEAD", "OPTIONS", "PUT", "DELETE", "TRACE" 
}; 

有沒有簡單的方法來覆蓋這部分(使用Apache的HttpClient例如),有一個不變的抄寫org.scribe.model.Verb.PATCH ,它現在基本上從不與其他抄寫代碼一起工作。

任何簡單的解決方法?

回答

0

你可以使用「x-http-method-override」標題參數來覆蓋HTTP方法 請通過下面的示例代碼使用'POST'方法,但用'PATCH'覆蓋它'

OAuthRequest request = new OAuthRequest(Verb.POST,url); 
request.addHeader("x-http-method-override", "PATCH"); 
Service.signRequest(konyAccessToken, request);//service is OAuthService instance  
String result = response.getBody(); 

此工作爲其他HTTP方法,如DELETE,TRACE ....

+0

我不認爲這是一個通用的解決方案。服務器沒有義務按照你希望的方式來處理這個標題(雖然很多人可能會這樣做)。 –

+0

是的服務器必須處理它,否則這將無法工作它像POST請求 – Surya