feign调用多个服务_springcloud @FeignClient调用微服务注意事项

在初次使用springcloud,调用微服务的时候,常常会踩坑,这里总结一下,在调用微服务的时候,常犯的几点错误及注意点:

一、FeignClient接口,不能使用@GettingMapping 之类的组合注解

@FeignClient("target-servername")

public interface FeignClient {

@RequestMapping(value = "/simple/{id}", method =RequestMethod.GET)

public Object findById(@PathVariable("id") Long id);

...

}

这边的@RequestMapping(value = "/simple/{id}", method = RequestMethod.GET) 不能写成@GetMapping("/simple/{id}") 。因为GetMapper是一个组合注解。

二、FeignClient接口中,如果使用到@PathVariable ,必须指定其value

@FeignClient("target-servername")

public interface FeignClient {

@RequestMapping(value = "/simple/{id}", method = RequestMethod.GET)

public Object findById(@PathVariable("id") Long id);

...

}

这边的@PathVariable("id") 中的”id”,不能省略,必须指定。

三、FeignClient多参数的构造

如果想要请求target-servername 服务,并且参数有多个例如:http://target-servername/query-by?id=1&username=张三 要怎么办呢? 不能构造一个复杂的对象去接收,必须一个一个接收参数

@FeignClient("target-servername")

public interface UserFeignClient {

@RequestMapping(value = "/query-by", method = RequestMethod.GET)

public Object queryBy(@RequestParam("id")Long id, @RequestParam("username")String username);

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值