0

回退方法和实际方法是否应该返回相同的返回类型。

@HystrixCommand(fallbackMethod = "reliable")
  public String readingList() {
    URI uri = URI.create("http://localhost:8090/recommended");

    return this.restTemplate.getForObject(uri, String.class);
  }

  public String reliable() {
    return "Cloud Native Java (O'Reilly)";
  }

我应该怎么做才能从回退方法返回字符串reading list并从实际方法返回一些对象reliable

4

1 回答 1

3

根据定义,回退方法是指在发生某些事情时替换真实方法。
您不能返回不同的类型。这没有任何意义。
因此,方法签名必须完全相同,但有一些例外。

  1. 返回类型必须相同或协变
  2. 方法参数必须相同。您可以添加一个额外的类型参数Throwable来获取调用回退的异常。
于 2017-12-21T09:48:35.613 回答