小编Kri*_*fer的帖子

Spring Cloud Feign客户端可以与Spring Web Controller共享接口吗?

使用Spring MVC和Feign Client(使用spring cloud)构建端点和客户端.我认为既然两端都需要有相同的注释 - 并且它们必须非常同步.也许我可以在界面中定义它们并让两端实现它.

测试它我有点惊讶它实际上适用于Spring Web结束.

但我无法找到一种方法为Feign客户端做同样的事情.

我基本上有接口:

@RequestMapping("/somebaseurl")
public interface ServiceInterface {
  @RequestMapping(value = "/resource/{identifier}", method = RequestMethod.POST)
  public SomeResource getResourceByIdentifier(String identifier);
}
Run Code Online (Sandbox Code Playgroud)

然后是RestController

@RestController
public class ServiceController implements ServiceInterface {
    public SomeResource getResourceByIdentifier(@PathVariable("identifier") String identifier) {
    // Do some stuff that gets the resource
        return new SomeResource();
    }
}
Run Code Online (Sandbox Code Playgroud)

最后是Feign客户端

@FeignClient("serviceName")
public interface ServiceClient extends ServiceInterface {
}
Run Code Online (Sandbox Code Playgroud)

Feign客户端似乎没有读取继承的注释.那么还有其他方法可以完成同样的事情吗?我可以将ServiceInterface变成Feign客户端而不直接注释它?

spring-cloud netflix-feign

11
推荐指数
1
解决办法
5323
查看次数

标签 统计

netflix-feign ×1

spring-cloud ×1