参数实体拦截器配置
>s 接口参数通常分为基础类型参数和对象类型参数,本文介绍如何自定义参数元素的读取
[ApiExtra参数](doc:S3E9eryY)是拦截器解析依据的重要参数
```java
/**
* 接口文档配置
*/
@Configuration
public class EasyApiConfig extends DefaultConfigurationCreator {
@Override
public AllConfiguration replenish(AllConfiguration configuration) {
//拿到参数对象配置类,根据自身的规则定义文档生成规则
ReadBeanConfig beanConfig = configuration.getReadBeanConfig();
return super.replenish(configuration);
}
}
```
### 接口拦截器配置:**ReadBeanConfig** ,具体可配置规则如下
**addReadParams** :`添加读取参数对象的全部字段规则,默认通过反射读取全部字段,通过设置本项可以自定义读取字段,并可以添加额外字段,这个通常可以解决一些特色的需求,如Map参数`
```java
beanConfig.addReadParams((type, bind, extra) -> new ArrayList());
```
---
**addReadDescriptors** :`添加读取参数说明规则`
```java
beanConfig.addReadDescriptors((type, bind, extra) -> "这是参数说明");
```
---
**addReadIgnore** :`添加参数忽略规则`
```java
beanConfig.addReadIgnore((type, bind, extra) -> false);
```
---
**addReadJavaTypes** :`添加参数类型规则`
```java
beanConfig.addReadJavaTypes((type, bind, extra) -> JavaType.String);
```
---
**addReadMockTemplates** :`添加参数mock模板规则,本规则会影响mock结果以及请求页面参数自动填充,easyapi提供了一些规则,可以查看`[【Mock模板解析拦截器】](doc:PamFJrQh)`包过随机字符,当前时间,随机数字等,也可以自定义规则,然后通过添加mock解析拦截器来处理`
```java
beanConfig.addReadMockTemplates((type, bind, extra) -> "张三");
```
---
**addReadNames** :`添加参数名读取规则,默认为field名称`
```java
beanConfig.addReadNames((type, bind, extra) -> extra.getModelField().getName());
```
---
**addReadRenewTypes** :`添加参数更新策略,当扫描的参数已存在时,需要指定更新策略,包过替换覆盖、增量更新和跳过更新,默认增量更新`
```java
beanConfig.addReadRenewTypes((type, bind, extra) -> RenewType.overwrite);
```
---
**addReadRequired** :`添加参数必填规则`
```java
beanConfig.addReadRequired((type, bind, extra) -> true);
```
---
**addReadShow** :`添加参数显示规则`
```java
beanConfig.addReadShow((type, bind, extra) -> true);
```
---
**addReadType** :`添加参数类型读取规则`
```java
beanConfig.addReadShow((type, bind, extra) -> type);
```
---
### 参数实体拦截器默认实现类
BeanDescriptionApiReader :`根据ApidocComment注解读取参数说明`
BeanDescriptionSwaggerReader :`根据swagger注解读取参数说明`
BeanDescriptionCommentReader :`根据注释读取参数说明`
BeanIgnoreApiReader :`根据ApidocComment注解读取参数忽略规则`
BeanIgnoreCommentReader :`根据注释读取参数忽略规则`
BeanJavaTypeCommentReader :`根据反射获取参数类型`
BeanMockTemplateCommentReader :`根据参数类型提供默认的mock模板生成规则`
BeanRequiredApiReader :`根据ApidocComment注解读取必填规则`
BeanRequiredSwaggerReader :`根据swagger注解读取必填规则`
BeanShowApiReader :`根据ApidocComment注解读取显示规则`
BeanShowSwaggerReader :`根据swagger注解读取显示规则`