BF支持自定义SQL示例
目标
- 在BFF中使用自定义SQL
前提条件
- 自定义sql已进行配置
使用示例
JS脚本示例
JavaScript
/**
* 前置校验函数入口, 可用于入参校验、改写等逻辑
* @param {Object} params - 输入数据(接口请求入参)
* @param {Object} context - 运行时上下文
* @returns - 处理后的结果,必须返回
*/
export default async function beforeFilter(params, context) {
const result = await context.client.sql.execute(params);
params.sqlResult = result;
return params;
}sqlCode: 8cbdd953-8d5fa8e5对应的sql:
Shell
SELECT * FROM employee where store_id = #{storeId} limit 20;执行请求
Shell
curl --location 'https://daily-runtime.lovrabet.com/api/endpoint/app-8cbdd953/beforeFilter' \
--header 'Cookie: yt-daily.session_token=dwBGMe6X9WMFKdXLeMG6XPklwJkn53eR.a0waMwBkSyNi0PtZtzNQPf%2F8gKJLUjHAgqVUlPfkqVc%3D;' \
--header 'Content-Type: application/json' \
--data '{
"sqlCode":"8cbdd953-8d5fa8e5",
"params": {
"storeId": 1
}
}'响应体:
JSON
{
"success": true,
"msg": "",
"errorMsg": "",
"errorCode": "0000",
"data": {
"sqlCode": "8cbdd953-8d5fa8e5",
"params": {
"storeId": 1
},
"sqlResult": [
{
"store_id": 1,
"gmt_create": "2019-05-21T14:26:02.000+00:00",
"salt": "aM8TOk10sy",
"gender": 39,
"id_card": "gViXgeBMUI",
"employee_name": "李四",
"hire_date": "2010-06-22",
"gmt_modified": "2025-07-26T08:31:46.000+00:00",
"password": "dVwDNHAftU",
"phone": "52-863-1021",
"role_id": 369,
"employee_id": 12,
"position": "eMuursN2Dj",
"username": "Xiao Anqi",
"status": 12
},
{
"store_id": 1,
"gmt_create": "2020-04-20T11:34:25.000+00:00",
"salt": "tJKr80FyUi",
"gender": 33,
"id_card": "WTzNoesJmJ",
"employee_name": "王五123",
"hire_date": "2020-10-20",
"gmt_modified": "2025-07-26T08:31:52.000+00:00",
"password": "YKTaOfu8CZ",
"phone": "760-5716-4828",
"role_id": 342,
"employee_id": 13,
"position": "u5mmDTTaHT",
"username": "Mao Yuning",
"status": 97
},
{
"store_id": 1,
"gmt_create": "2000-07-17T17:06:33.000+00:00",
"salt": "7p6bM2JyOZ",
"gender": 16,
"id_card": "gFwwmSqRoE",
"employee_name": "成龙",
"hire_date": "2024-03-07",
"gmt_modified": "2025-07-26T08:31:56.000+00:00",
"password": "WnHF6nL04D",
"phone": "7649 900953",
"role_id": 453,
"employee_id": 14,
"position": "c3EnJiFITy",
"username": "Liu Jialun",
"status": 17
},
{
"store_id": 1,
"gmt_create": "2004-12-08T16:14:45.000+00:00",
"salt": "uf2my7lbKK",
"gender": 57,
"id_card": "047H5ubYFu",
"employee_name": "张三-卫玄测试",
"hire_date": "2004-10-07",
"gmt_modified": "2025-07-26T08:31:42.000+00:00",
"password": "jLNFjcuETk",
"phone": "74-35-9610",
"role_id": 997,
"employee_id": 31,
"position": "C07A9sBvPi",
"username": "卫玄测试",
"status": 3
}
]
},
"params": null
}