我已经定义了一个REST接口,它具有不同的Spring Boot Application实现,使用不同的 spring.application.name
( spring.application.name
在我的业务中不能相同) .
我怎样才能定义Feign Client,并且可以访问所有SpringBootApplication REST服务?
SpringBootApplication A(spring.application.name = A)和B(spring.application.name =)有这个RestService:
@RestController
@RequestMapping(value = "/${spring.application.name}")
public class FeignRestService {
@Autowired
Environment env;
@RequestMapping(path = "/feign")
public String feign() {
return env.getProperty("server.port");
}
}
另一个SpringBootApplication C:
@FeignClient(name="SpringApplication A or B")
public interface FeignClientService {
@RequestMapping(path = "/feign")
public String feign();
}
在SpringBootApplication C中,我想使用FeignClientService来访问A和B.你有什么想法吗?
1 回答
您可能已经想到了这一点,但这可能会帮助那些正在寻找相同问题答案的人 . 您需要为使用这些服务的每个服务客户端配置Feign Client .
由于Feign客户端与您定义的服务绑定,因此无法使用相同的Feign客户端来调用不同的服务 .