似乎是抄写员中的一个错误。它使用的是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中有一个常量,它基本上不会像现在这样使用其余的划线代码。
任何简单的解决方法?
答案 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 ....