Mock模板解析拦截器

>s 在参数生成好以后,通过页面查看时,希望能看到每个参数的填写示例,但是示例又不能仅仅依据参数类型给随机数,所以便有了自定义模板配置和解析,在【参数实体拦截器配置中】可以配置自定义模板,本文介绍如何解析mock模板 [ApiExtra参数](doc:S3E9eryY)是拦截器解析依据的重要参数 ```java /** * 接口文档配置 */ @Configuration public class EasyApiConfig extends DefaultConfigurationCreator { @Override public AllConfiguration replenish(AllConfiguration configuration) { //拿到mock模板配置类,根据自身的规则定义文档生成规则 ReadMockTemplateConfig mockTemplateConfig = configuration.getReadMockTemplateConfig(); return super.replenish(configuration); } } ``` ### Mock模板解析拦截器配置:**ReadMockTemplateConfig** ,具体可配置规则如下 **addReadMockTemplates** :`添加mock模板解析规则,参数中会给到自定义模板以及当前的参数类型` ```java mockTemplateConfig.addReadMockTemplates((template, javaType) -> "123"); ``` ### 参数实体拦截器默认实现类 MockTemplateCommentReader :`根据默认规则解析模板` ### 默认mock模板语法 - 直接填写字符串,页面会显示填写的内容 - 通过@+方法名和参数使用内置语法,如 @randomName() 可以获取一个随机中文名字,@randomNumer(1, 10) 可以获取1-10的随机数 #### 支持的内置语法如下 @randomName() :`随机获取一个中文名字` @randomCompany() :`随机获取一个公司名称` @randomArea() :`随机获取一个区域` @randomMobile() :`随机获取一个手机号码` @randomImg() :`随机获取一张网络图片地址` @randomVod() :`随机获取一个网络视频地址` @randomEnumString(str) :`传入逗号分隔字符串,并随机返回一个字符串,如@randomEnumString('张三,李四')` @randomEnumNumer(str) :`传入逗号分隔数字,并随机返回一个数字,如@randomEnumNumer('3,4,5')` @time() :`获取当前时间戳` @timeStr() :`获取当前时间字符串,yyyy-MM-dd HH:ss:mm格式` @timeStr(pattern) :`获取当前时间字符串,传入格式` @randomNumer(start,end) :`获取随机数字,传入最小值和最大值,如@randomNumer(10,100)`