首页 > 解决方案 > 使用域 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 调用。

标签: spring-cloud

解决方案


@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();
}

推荐阅读