无论如何,使用Java HttpClient发送自定义方法

无论如何,使用Java HttpClient发送自定义方法,java,rest,apache-httpclient-4.x,Java,Rest,Apache Httpclient 4.x,我们目前正在使用HttpClient 4.3与其他服务提供商进行所有REST通信,但是,我们最近的一个提供商在API中有一些自定义方法 我试图找到一种发送自定义方法(非标准方法,如GET、POST、PUT等)的方法 以前有人使用过HttpClient吗? 谢谢 我建议您使用RequestBuilder类()来构造Request对象。静态RequestBuilder.create方法允许您为请求对象指定任何“方法”字符串。我建议您使用RequestBuilder类()来构造request对象。静态

我们目前正在使用HttpClient 4.3与其他服务提供商进行所有REST通信,但是,我们最近的一个提供商在API中有一些自定义方法

我试图找到一种发送自定义方法(非标准方法,如GET、POST、PUT等)的方法

以前有人使用过HttpClient吗?
谢谢

我建议您使用
RequestBuilder
类()来构造
Request
对象。静态
RequestBuilder.create
方法允许您为请求对象指定任何“方法”字符串。

我建议您使用
RequestBuilder
类()来构造
request
对象。静态
RequestBuilder.create
方法允许您为请求对象指定任何“方法”字符串。

通过扩展HttpRequestBase实现
FOO
方法,如下所示:

public class HttpFoo extends HttpRequestBase{

    public final static String METHOD_NAME = "FOO";

    public HttpFoo() {
        super();
    }

    @Override
    public String getMethod() {
        return METHOD_NAME;  
    }

    public HttpFoo(final String uri) {
        super();
        setURI(URI.create(uri));
    }

    public String getName() {
        return "FOO";
    }
}
然后,上述方法可以像GET(HttpGet)等任何现有方法一样使用

测试过

  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>4.5.2</version>
org.apache.httpcomponents
httpclient
4.5.2

通过扩展HttpRequestBase实现
FOO
方法,如下所示:

public class HttpFoo extends HttpRequestBase{

    public final static String METHOD_NAME = "FOO";

    public HttpFoo() {
        super();
    }

    @Override
    public String getMethod() {
        return METHOD_NAME;  
    }

    public HttpFoo(final String uri) {
        super();
        setURI(URI.create(uri));
    }

    public String getName() {
        return "FOO";
    }
}
然后,上述方法可以像GET(HttpGet)等任何现有方法一样使用

测试过

  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>4.5.2</version>
org.apache.httpcomponents
httpclient
4.5.2