码迷,mamicode.com
首页 > 其他好文 > 详细

Feign:声明式REST调用

时间:2020-03-24 23:28:38      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:哪些   ble   log   支持   adt   min   目标   decode   cat   

一. 简介

1. 声明式,模板化的HTTP客户端,可以帮助我们更加便捷,优雅的调用HTTP API;

2. 为服务消费者整合Feign

添加spring-cloud-starter-openfeigh依赖;

创建一个Feign接口,添加@FeignClient注解;

在Controller中调用Feign接口;

3. 自定义Feign配置

feign:

  client:

    config:

      default:

        connectTimeout: // 相当于Request.Options

   readTimeout: // 相当于Request.Options

   loggerLevel: // 配置Feign的日志级别,相当于代码配置方式中的Logger

   errorDecoder: // Feign的错误解码器,相当于代码配置方式中的ErrorDecoder

   retryer: // 配置重试,相当于代码配置方式中的Retryer

   requestInterceptors: // 配置拦截器,相当于代码配置方式中的RequestInterceptor

   decode404:

4. 对压缩的支持

feign.compression.request.enabled = true;

feign.compression.request.mine-types = text/xml, application/xml, application/json;

feign.compression.request.min-request-size = 2048;

feign.compression.response.enabled = true;

5. Feign的日志

可以为通过feign.client.config.loggerLevel为每个Feign客户端配置各自的Logger.level对象,告诉Feign记录哪些日志,Logger.Level的值有以下选择:

NONE:不记录任何日志(默认);

BASIC:仅记录请求方法,URL,响应状态代码以及执行时间;

HEADERS:记录BASIC级别的基础上,记录请求和响应的header;

FULL:记录请求和响应的header,body和元数据;

6. 多参数请求

方法一:URL有几个参数,Feign接口中的方法就有几个参数,使用@RequestParam注解指定具体的请求参数;

方法二:当目标URL参数非常多时,可使用Map来简化Feign接口的编写;

7. 上传文件

Feign官方提供的子项目feign-form中实现了上传文件所需的Encoder;

Feign:声明式REST调用

标签:哪些   ble   log   支持   adt   min   目标   decode   cat   

原文地址:https://www.cnblogs.com/bbbbs/p/12562775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!