当前位置: 代码迷 >> 综合 >> 使用 FeignClient 进行微服务交互(微服务接口互相调用)
  详细解决方案

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

热度:38   发布时间:2023-12-12 19:45:06.0

先写一个公共方法: 

   public String getSettingValue(String name) {Map<String, Object> 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;}