我必须从非RESTful API访问数据,并尝试构建一个新的Web服务来访问原始API并将其重新公开为RESTful API。
我想使用LoopBack来实现这一目标。
到目前为止,我有:
var loopback = require("loopback");
var ds = loopback.createDataSource({
connector: require("loopback-connector-rest"),
debug: false,
operations: [
{
"template": {
"method": "POST",
"url": "http://192.168.1.20/OLD_API/Web_SVC.ASMX/CALLFUNC",
"headers": {
"accepts": "application/json",
"content-type": "application/json"
},
"body": "{body}"
},
"functions": {
"create": ["body"]
}
}
]});
var model = ds.createModel('debtor');
model.create({ "DLLNAME":"WEB_DLLS.GET_AGED", "FUNCTIONNAME":"M_GET_AGED", "PARAMETERNAME":"1234" },function (err, result, response) {
console.log(JSON.parse(result.d));
});
理想情况下,我希望将此POST
公开为GET
/api/debtors/{clientId}
clientId
,PARAMETERNAME
是model.create
电话中的{{1}}。
答案 0 :(得分:1)
您可以进一步参数化主体以进行操作映射,如下所示:
body:{ " DLLNAME":" WEB_DLLS.GET_AGED&#34 ;, " FUNCTIONNAME":" M_GET_AGED&#34 ;, "参数名称":" {参数名称}" }
您可以更改create remoting元数据或将create包装到另一个方法并通过GET公开它。
model.createOverGet = function(param,cb){ this.create(...,cb); }