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-api
和 newbee-mall-cloud-user-web
的作用与目录规范。