# engine-starter-feign 使用教程
> 基于 Feign 的通用封装
> 具体使用可参考 [engine-sample > engine-sample-starter-web](../engine-sample/engine-sample-starter-web)
## 功能特性
- [X] 请求头添加内部请求标识 `X-QiFu-From-In: true`
- [X] 请求头透传
- [X] 请求结果解析映射(解封装 `Result`)
-------
## 快速使用
- **注意:** `qifu-saas-parent >= 2.0.0-SNAPSHOT`
- **注意:** 启动类 `@ComponentScan` 需要变更为如下形式
- ```java
@ComponentScan(value = "com.yuanmeng.*",
excludeFilters = {
@ComponentScan.Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@ComponentScan.Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class)
})
@SpringBootApplication
public class SampleStarterWebApplication {
public static void main(String[] args) {
SpringApplication.run(SampleStarterWebApplication.class, args);
}
}
```
### 添加依赖
```xml
com.yuanmeng.engine
engine-starter-feign
```
### 添加兼容包(可选)
- 项目中存在 `web-core` 时需要添加兼容包
```xml
com.yuanmeng.engine
engine-starter-compatible-feign
```
------
## 完整默认配置文件
```yaml
yuanmeng:
feign:
#- 开启feign自动配置
enable: true
#- 开启请求头内部标识
enable-contract: true
#- 开启旧包兼容
enable-ignore: true
#- 开启结果解析
enable-decoder: true
#- 开启请求头传递
enable-interceptor: true
#- 链接超时时间
connect-timeout: 10
connect-time-unit: seconds
#- 读取超时时间
read-timeout: 60
read-time-unit: seconds
```