Tencent/APIJSON

APIJSON Router 模式 参数 映射咨询

Closed this issue · 1 comments

Description

request

{
    "SysUser.realName":"真实姓名",
    "SysUser.password":"111111",
    "SysUser.avatar":"头像",
    "SysUser.status":"状态",
    "SysUser.username":"账号"
}

apijson

{
    "SysUser":{

    },
    "format":true,
    "avatar@":"SysUser.avatar",
    "password@":"SysUser.password",
    "realName@":"SysUser.realName",
    "status@":"SysUser.status",
    "username@":"SysUser.username"
}

以上可以新增成功,参数映射成功

我尝试改成以下 去除了 SysUser 的前缀,无法映射成功
request

{
    "realName":"真实姓名",
    "password":"111111",
    "avatar":"头像",
    "status":"状态",
    "username":"账号"
}

apijson

{
    "SysUser":{

    },
    "format":true,
    "avatar@":"avatar",
    "password@":"password",
    "realName@":"realName",
    "status@":"status",
    "username@":"username"
}

你再认真看下 apijson-router 的文档,request 中所有 "key0.key1..keyN": valueN 都会自动转成

key0: {
   key1: {
    ..
       keyN: valueN
   }
}

对应替代同路径同名的键值对

https://github.com/APIJSON/apijson-router?tab=readme-ov-file#3test-configured-restful-like-api

"avatar@":"SysUser.avatar" 引用不到 最外层的 "SysUser.avatar":"头像",因为早就转成了

"SysUser": {
  "avatar": "头像"
}

要用 APIJSON 正确的 / 分隔方式引用
"avatar@":"SysUser/avatar"