阅读背景:

springcloud使用FeignClient来调用其他服务

来源:互联网 

1、pom.xml配置,引入jar

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>

2、application.java启动类注解

3、引入其他服务的接口(其他是对方controller对外抛出的接口方法,跟dubbo分布式有区别)

package fmc.eq.common.consumer;

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import fmc.common.base.entity.UserInfo;

@FeignClient("api-gateway")
public interface UserInfoClient {

/**
* 获取登录用户信息
* @param accessToken 操作令牌
* @param module 当前模块,可选参数。不为空时,返回的用户信息除了用户基本信息外,还包含用户模块、应用和操作权限信息
* @return
* @throws Exception
*/

@RequestMapping(value = "/rest/common/getUserInfo", method = RequestMethod.GET)
public UserInfo getUserInfo(
@RequestParam(value = "accessToken", required = true) String accessToken,
@RequestParam(value = "module", required = false) String module)
throws Exception;

}

4、Java代码中使用

/** 
* 通过注解来使用对方controller的方法
*/

public class A{
@Autowired
private UserInfoClient userInfoClient;

public void init(){
userInfoClient.getUserInfo("123456",null);
}
}

分享到: