接口入参拦截器
>s 每个接口的传入参数有可能不同,有些参数需要被解析,有些参数需要被转换,有些需要被忽略,比如HttpServletRequest等,easyapi是将所有的接口入参先进行扫描,如果是对象类型,再转交【参数实体拦截器】进行处理,本文介绍如何自定义解析接口入参
[ApiExtra参数](doc:S3E9eryY)是拦截器解析依据的重要参数
```java
/**
* 接口文档配置
*/
@Configuration
public class EasyApiConfig extends DefaultConfigurationCreator {
@Override
public AllConfiguration replenish(AllConfiguration configuration) {
//拿到接口入参配置类,根据自身的规则定义文档生成规则
ReadRequestConfig requestConfig = configuration.getReadRequestConfig();
return super.replenish(configuration);
}
}
```
### 接口入参配置 :ReadRequestConfig,具体可配置规则如下
**addReadParams** :`添加读取接口参数规则`
```java
requestConfig.addReadParams((method, extra) -> new ArrayList<>());
```
---
**addReadName** :`添加参数名称读取规则`
```java
requestConfig.addReadName((parameter, parameterName, extra) -> parameterName);
```
---
**addReadType** :`添加参数类型读取规则`
```java
requestConfig.addReadType((parameter, extra) -> parameter.getParameterizedType());
```
---
**addReadRequired** :`添加参数必填规则`
```java
requestConfig.addReadRequired((parameter, extra) -> true);
```
---
**addReadShow** :`添加参数是否显示规则`
```java
requestConfig.addReadShow((parameter, extra) -> true);
```
---
**addReadIgnore** :`添加参数是否忽略规则`
```java
requestConfig.addReadIgnore((parameter, extra) -> false);
```
---
**addReadDescriptions** :`添加参数说明规则`
```java
requestConfig.addReadDescriptions((parameter, extra) -> "");
```
---
**addReadMockTemplate** :`添加参数mock模板规则,本规则会影响mock结果以及请求页面参数自动填充,easyapi提供了一些规则,可以查看`[【Mock模板解析拦截器】](doc:PamFJrQh)`包过随机字符,当前时间,随机数字等,也可以自定义规则,然后通过添加mock解析拦截器来处理`
```java
requestConfig.addReadMockTemplate((parameter, extra) -> "@randomNum()");
```
---
### 接口入参拦截器默认实现类
RequestDescriptionApiReader :`根据ApidocComment注解读取参数说明`
RequestDescriptionSwaggerReader :`根据swagger注解读取参数说明`
RequestDescriptionCommentReader :`根据注释读取参数说明`
RequestMockTemplateCommentReader :`默认生成模板策略`