OpenFeign编码暴露远程接口

下面在 newbee-mall-cloud-user-api 模块中新增需要暴露的接口 FeignClient

新建 ltd.user.cloud.newbee.openfeign 包,之后在该包下新增 NewBeeCloudAdminUserServiceFeign 类,用于创建对管理员用户相关接口的 Feign 调用。

NewBeeCloudAdminUserServiceFeign 类代码如下:

package ltd.user.cloud.newbee.openfeign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

@FeignClient(value = "newbee-mall-cloud-user-service", path = "/users")
public interface NewBeeCloudAdminUserServiceFeign {

    @GetMapping(value = "/admin/{token}")
    String getAdminUserByToken(@PathVariable(value = "token") String token);
}

这个方法的作用就是根据 token 值来获取管理员用户数据,主要用作鉴权。调用的接口是 newbee-mall-cloud-user-web 模块下 NewBeeMallCloudAdminUserController 类中的 getAdminUserByToken() 方法。如果其他微服务需要与用户微服务进行远程通信获取管理员用户数据,就可以引入 newbee-mall-cloud-user-api 模块作为依赖,并且直接调用 getAdminUserByToken() 方法。

另外,上述代码只是测试写法,后续会根据实际的接口设计进行修改。这里主要为了讲解 newbee-mall-cloud-user-service 模块的目录结构设计,以及该模块下的两个子模块 newbee-mall-cloud-user-apinewbee-mall-cloud-user-web 的作用与目录规范。