![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Feign
文章平均质量分 73
wyaoyao93
小白
展开
-
07 Feign扩展之Contract接口
这个接口决定了哪些注解可以标注在接口上还是方法上是有效的,并且提取处有效的信息,组装成为MethodMetaData元信息。1 Contract接口public interface Contract { // targetType:就是客户端接口的的class类型 // 此方法来解析类中链接到HTTP请求的方法:提取有效信息到元信息存储 // MethodMetadata:方法各种元信息,包括但不限于 // 返回值类型returnType // 请求参数、请求参数的index、名称 // u原创 2021-03-23 22:32:31 · 705 阅读 · 0 评论 -
06 Feign拦截器RequestInterceptor
请求拦截器可以在不同的请求目标实例(feign.builder创建的客户端)间共享,并且是线程安全的。请求的转换之前完成拦截(RequestTemplate转为feign.Request),它的作用只能是对请求模版做定制,而不能再对Request做定制了。文章目录1 RequestInterceptor接口1.1 默认实现:BasicAuthRequestInterceptor1.2 自定义实现:同一设置Token1 RequestInterceptor接口public interface Requ原创 2021-03-23 22:14:31 · 2039 阅读 · 0 评论 -
05 Feign的解码器处理响应数据
解码器就是用于Response1 Decoderpublic interface Decoder { // response:代表请求响应 // type:代表方法的返回值类型 // 它还有个特点:抛出了三种异常 // 但其实除了IOException,其它两种都是unchecked异常 Object decode(Response response, Type type) throws IOException, DecodeException, FeignException;}将H原创 2021-03-23 13:30:27 · 3273 阅读 · 0 评论 -
04 Feign扩展之编码(Encoder)
文章目录1 问题引入2 Encoder接口2.1 默认实现2.2 何时生效都标注有@Param注解,并且都被模版使用了都标注有@Param注解,但模版只使用一个都标注有@Param注解,但模版都没有使用feign具有很强的扩展性,允许用户根据需要进行定制,如HTTP客户端OkHttp, HTTP/2 client, SLF4J日志的使用, 编解码,错误处理等。使用时可以通过Feign.builder()创建api客户端时配置自定义组件。1 问题引入前面已经提过,feign默认是调用对象的toStrin原创 2021-03-22 22:14:50 · 5035 阅读 · 0 评论 -
03 Feign发送Post请求
1 url传递参数这个和get没有啥区别,就简单介绍服务提供者 /** * 测试一个参数 * * @return */ @PostMapping("/post") public String test01(@RequestParam String name) { return name; } /** * 测试Map * * @return */ @PostM原创 2021-03-20 21:31:20 · 6439 阅读 · 0 评论 -
02 Feign发送get请求
大家接触Feign都是通过Spring Cloud,平时使用的均是Spring MVC的注解。但是Feign是完全不依赖SpringMvc的注解的,是可以直接使用的哟。文章目录1 准备工作1.1 准备工作:Feign日志打印1.2 准备工作:定义一个Feign客户端构建器1 Get请求入门1.1 案例1.2 API讲解(一)1.2.1 RequestLine注解1.2.2 Param注解2 Get请求:请求参数为Map2.1 案例2.2 API讲解(二)2.2.1 QueryMap注解1 准备工作1.原创 2021-03-20 18:37:01 · 934 阅读 · 0 评论 -
02 Feign基本注解介绍
文章目录1 @RequestLine1 Feign日志打印2 构建一个API模块大家接触Feign都是通过Spring Cloud,平时使用的均是Spring MVC的注解。但是Feign是完全不依赖SpringMvc的注解的,是可以直接使用的哟。1 @RequestLine// 只能用在方法上@java.lang.annotation.Target(METHOD) @Retention(RUNTIME)public @interface RequestLine { //定义请求方式,请求原创 2020-12-17 21:04:22 · 4449 阅读 · 0 评论 -
01 Feign概述和入门
文章目录1 引言2 Feign介绍3 入门案例1 引言HTTP客户端,大家都不会感到陌生。Java自己源生的就有java.net包下的HttpURLConnection(虽然不太好用),常见的开源第三方的http客户端:Apache HttpClientOkHttpSpring的RestTemplate(说明:它基于以上三种Client做的包装)FeignJDK源生HttpClient偏于底层且不好用,在Java9之前你几乎可以忽略它;Apache HttpClient凭借着各种优秀原创 2020-12-16 10:43:55 · 172 阅读 · 0 评论