我仍在使用node.js / express.js找到我的脚。我想将一个休息Web服务的结果传递给另一个...或者从两个Web服务函数创建一个新的路由服务......
函数A连接到mysql并构建一个json对象
e.g。
URL:端口/ getMySQLRecord /:的recordId
function B将新文档(JSON对象)添加到mongoDB集合
它接受AJAX POST
e.g。
URL:端口/ insertMongoDoc
功能A和B当前都作为REST Web服务工作......(我怎样才能最好地将A的结果传递给B?)
HTTP客户端调用A并将结果传递给B似乎效率低下。
我的意思是当服务器已经拥有对象数据时,使用2 x带宽似乎不是最佳选择。
如果这是nix我将使用| ......
答案 0 :(得分:1)
//pseudocode loadRecord middleware just queries mysql for req.params.recordid
// and stores the result as req.body, then calls next()
//storeReqDotBodyInMongo just takes req.body and does a mongo insert, then calls next()
//sendResponse is just res.send(req.body)
app.get('/getMySQLRecord/:recordid', loadRecord, sendResponse);
app.post('/insertMongoDoc', express.bodyParser(), storeReqDotBodyInMongo, sendResponse);
app.get('/getMySQLAndInsertMongo/:record', loadRecord, storeReqDotBodyInMongo, sendResponse);
注意连接中间件与unix管道的相似性。他们使用req / res / next来代替stdio。