手动声明伪客户端时如何强制方法

时间:2019-01-27 22:56:04

标签: java interface factory-pattern implements feign

我宣布了几个假客户。

public interface AddressClient{

  @RequestLine("GET addresses")
  public AddressResponse get();

  @RequestLine("POST /api/addresses")
  public AddressResponse add(String json);

  @RequestLine("PUT addresses")
  public AddressResponse update(String json);

  @RequestLine("DELETE /api/addresses")
  public AddressResponse delete(String json);

}

我有几个声明相同的方法(获取,添加,放置,发布)。

我正在尝试实现工厂模式,以便将特定的类链接到特定的伪客户端。这样:

public Object getClient(Object obj) {

        if (checkClassType(obj, Individual.class)) {
            return individualRestClient;
        } else if (checkClassType(obj, Address.class)) {
            return addressRestClient;
        } else 
            return null;
        }
    }

    private boolean checkClassType(Object obj, Class clazz) {
        return obj.getClass().equals(clazz);
    }

我希望从工厂类中返回我需要的客户端,并且我能够调用该方法在其上获取,放置,发布和删除...

我的第一个问题是我没有找到为假冒客户返回类型的解决方案。我实际上是在返回对象(getClient(Object obj))。.

我的第二个问题是我如何告诉我的工厂调用通用方法..实际上它们都是接口而不是类..而一个接口不能实现另一个接口..

0 个答案:

没有答案