Feign的注解及参数

Feign的注解

@FeignClient(

name = "eurekaClientTest-provider", 
url = "http://localhost:8081", 
configuration = EurekaConfiguration.class,
fallback = FallBackException.class

)

name:指定FeignClient的名称,name属性会作为微服务的名称,用于服务发现;
url: url一般用于调试,可以手动配置@FeignClient调用的地址;
configuration: 指定Feign配置类,可以自定义Feign的编码器,解码器,日志打印,甚至可以添加拦截器;
fallback: 定义容错的处理类,当调用远程接口失败或超时时,会调用对应接口的容错逻辑,fallback指定的类必须实现。

Feign的参数

get请求:

@requestMapping(value="/test1/{id}", method = RequestMethod.GET)
public String getTestParam(@RequestParam("id") String id);

输入id为3,访问的具体的Url:/test1/3;

@requestMapping(value="/test1", method = Request.Get)
public String getTestParam(@RequestParam Map map);

传入Map,访问具体的Url:/test1?key=value&xxxx...;

这里不仅仅是消费者的interface,提供者具体的Rest Api也是这样的。无论传递什么参数,我们都需要保证消费者/提供者一致的API。

post请求:

@requestMapping(value="/test1", method = RequestMethod.POST)
public String getTestParam(@RequestBody("id") String id);

总结一下:

1、Feign的注解往往都是随着业务而来的,可以配置,也可以使用默认配置,之前源码分析已经说过。但是注解的意思我们需要明白;

2、post和get都是使用到各自后台调用的方式,懂后台的读者应该明白,所以不细讲,不多讲;

注:Feign的注解读者可以一一自行验证。因为作者的水平确实有限,这些了解即可。

你可能感兴趣的:(Feign的注解及参数)