# convertor **Repository Path**: nsdnsd/convertor ## Basic Information - **Project Name**: convertor - **Description**: 对接第三方接口,实现将对方字段转换成项目标准字段 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-12-16 - **Last Updated**: 2024-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 一、全局说明 - 针对所有规则 - 条件字段(condition):即满足条件才会执行该条规则,为空默认为满足条件 - 排序字段(sort):执行规则的顺序,也可以通过映射规则该配置定义转换后报文目标字段的顺序 - 完全自定义实现:可以继承**AbstractReceiveHandler**或**AbstractSendHandler**后重写**handle**方法 - 新增ApiService:接入方式(1-接入,2-推送)最好正确配置,规则查询界面有使用该字段 ### 二、转换规则 #### 1、说明 - 定义转换后目标的层级,即以目标的层级来定义 - 每个层级需要配置一条转换规则,具体逻辑类似mybatis嵌套查询xml配置 - 每个子转换规则的源(source)都可以从父级转换规则的源(source)基础上取值,如果source是List,则必须从父级转换规则的源(source)基础上取值,不能直接从最外层params.开始取值 - 如果由xml格式切换为json格式时,因xml多一个节点,格式配置变更后需要将转换规则的source多余节点去除。 - 例:params.items.item -> params.items #### 2、源多层,目标一层 -
{ "name": "John Doe", "age": 30, "address": { "street": "123 Main St", "city": "New York", "zipcode": "10001" }, } |
{ "name": "John Doe", "age": 30, "street": "123 Main St", "city": "New York", "zipcode": "10001" } |
{ "name": "John Doe", "age": 30, "street": "123 Main St", "city": "New York", "zipcode": "10001" } |
{ "name": "John Doe", "age": 30, "address": { "street": "123 Main St", "city": "New York", "zipcode": "10001" } } |
{ "studentId": "S001", "name": "张三", "age": 16, "province": "广东省", "city": "深圳市", "courses": [ { "courseId": "C001", "courseName": "数学", "teacher": "李老师", "schedule": [ { "day": "周一", "time": "09:00-11:00" }, { "day": "周三", "time": "14:00-16:00" } ] }, { "courseId": "C002", "courseName": "英语", "teacher": "王老师", "schedule": [ { "day": "周二", "time": "10:00-12:00" }, { "day": "周四", "time": "15:00-17:00" } ] } ] } |
{ "studentId": "S001", "name": "张三", "age": 16, "address": { "province": "广东省", "city": "深圳市" }, "myCourses": [ { "courseId": "C001", "courseName": "数学", "teacher": "李老师", "schedule": [ { "day": "周一", "time": "09:00-11:00" }, { "day": "周三", "time": "14:00-16:00" } ] }, { "courseId": "C002", "courseName": "英语", "teacher": "王老师", "mySchedule": [ { "day": "周二", "time": "10:00-12:00" }, { "day": "周四", "time": "15:00-17:00" } ] } ] } |