Scribe PATCH请求无效

时间:2014-01-14 17:25:36

标签: java scribe

似乎是抄写员中的一个错误。它使用的是java.net.HttpURLConnection,仅限于

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

没有简单的方法可以覆盖这个部分(例如使用apache httpClient)并且在Scribe org.scribe.model.Verb.PATCH中有一个常量,它基本上不会像现在这样使用其余的划线代码。

任何简单的解决方法?

2 个答案:

答案 0 :(得分:1)

目前我正在从可用的http动词的划线列表中删除PATCH

https://github.com/fernandezpablo85/scribe-java/commit/65ae79d2702ccb192161db8fc6d1edaa5df07be8

在解决方法方面,我发现球衣球员有同样的问题,used reflection to get around it.

答案 1 :(得分: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 ....