使用 FeignClient 进行微服务交互(微服务接口互相调用)

先写一个公共方法: 

   public String getSettingValue(String name) {
        Map map = (Map) settingClient.getByName(name).getData();
        return (String) map.get("value");
    }

 然后写一个Feign调用

@FeignClient(value="qiang-admin")
public interface SettingClient {
	@RequestMapping(value="/setting/getSetting/{name}",method = RequestMethod.GET)
	public ReturnMsg getByName(@PathVariable("name") String name);
}

@FeignClient注解用于指定从哪个服务中调用功能 ,注意 里面的名称与被调用的服务
名保持一致,并且不能包含下划线。
@RequestMapping注解用于对被调用的微服务进行地址映射。注意 @PathVariable注
解一定要指定参数名称,否则出错。

@PathVariable:接口参数

被Feign调用的方法如下:

	@RequestMapping(value="/getSetting/{name}",method = RequestMethod.GET)
	public ReturnMsg getByName(@PathVariable String name){
		Setting condition = new Setting();
		condition.setName(name);
		ReturnMsg returnMsg = new ReturnMsg<>();
		Setting setting = settingService.findByCondition(condition);
		returnMsg.setCode(ReturnIntCode.SUCCESSS_CODE);
		returnMsg.setData(setting);
		return returnMsg;
	}
	

 

你可能感兴趣的:(java,Spring,Cloud)