2014-01-14 59 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