Feign调用微服务项目其他服务的接口

Feign调用微服务项目其他服务的接口,第1张

1.在启动类上添加@EnableFeignClients({ "cn.xxx.*" })注解,cn.xxx.*指的是可呗Feign识别的接口所在的包路径。
2.创建接口定义需要调用有接口方法,并用@FeignClient(name="XXX",path = "xx/xx/xx")表明该接口是为了跨服务调用暴露的接口。其中name指的是所调用接口的服务名,path指的是访问路径,有时候还需要使用@Component注解使该接口被spring扫描到。
3.使用 @RequestMapping(“/XXX”)注解修饰方法,其中/XXX为所要调用服务的接口路径,方法名为调用时的方法。
举例:
暴露接口:

@Component(value = "iLogClient")
public interface ILogClient {
    @RequestMapping(path = "/add",method = RequestMethod.POST ,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    void addLog(@RequestBody Map map);
    }

主类:

@SpringBootApplication
@EnableFeignClients({ "cn.test.*" })
public class DbServerApplication {
   public static void main(String[] args) {
       ConfigurableApplicationContext context = new SpringApplicationBuilder(
               DbServerApplication.class).run(args);
       // 写入PID
       context.addApplicationListener(new ApplicationPidFileWriter());
       System.out.println("当前服务启动成功");
   }
}

调用:

 @RequestMapping("/test")
 public class Mytest{
	 @Autowired
	 private ILogClient iLogClient;
	 
	@RequestMapping("/get")
	public void get(){
		Map requestMap = new HashMap<>();
		iLogClient.addLog(requestMap);
	}
 }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/729179.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存