spring-cloud - 使用域 url 假装请求微服务
问题描述
我现在使用 feign 调用微服务 api,如下所示:
Response<List<AppResponse>> apps = appController.getApps();
这是服务器端:
@RequestMapping(value = "/app")
@FeignClient(name = "soa-service")
public interface IAppController {
@GetMapping(value = "/list")
Response<List<AppResponse>> getApps();
}
因为客户端和服务器端都注册到了尤里卡(尤里卡可以找到内部注册的IP地址),所以调用工作正常。我的问题是:当客户端和服务器不在一个网络中时(可能客户端没有注册到尤里卡并部署到外部网络)。是否可以使用“”之类的域 url 调用微服务www.api.example.com/app/list
?
ps:我知道一种使用 okhttpclient 更改我的调用的解决方案,但问题是:我必须将所有旧的 feign 调用更改为新的 okhttp rest 调用。
解决方案
@RequestMapping(value = "/app")
@FeignClient(name = "soa-service", url = "http://www.api.example.com/app/list")
public interface IAppController {
@GetMapping(value = "/list")
Response<List<AppResponse>> getApps();
}
推荐阅读
- python - 如何使用Python中的循环使用查找功能过滤excel中的所有行?
- c++ - C++ 从牌组中拉出一张牌
- javascript - Jquery选择以前的单选按钮值而不是当前?
- apache-spark - Spark join:对同一分区中的特定列具有相同值的记录分组
- python - 是否可以使用单独的终端打包 python 应用程序?
- jquery - 附加到最接近的 - 对于每个:重复的模式
- nested - Bootstrap flex 嵌套行并排定位,而不是一个在另一个下
- google-cloud-ml - 在 AI Platform 中部署 PyTorch 模型
- java - 如何在外部 Tomcat 服务器中运行 WAR 文件的设置代码
- ios - 为什么我的 @State 对象不保留其价值?