我主要拥有作为 Web 开发人员的编程经验,现在我的任务是在两个休息服务之间构建集成。假设应用程序每 5 分钟从一个 REST 服务读取一次,并将数据发送到另一服务。我需要以某种方式存储一个 checkSUM 值,以便在下次调用时使用。
目前,我正在考虑在 Node 和 Express 中构建它,并通过“自定义时钟流程”托管在 heroku 上。但我不确定构建此类应用程序的最佳方法是什么。对我来说,开发一个没有 View 的应用程序是很陌生的。 MVC 在这样的应用程序中有意义吗?
任何人都可以指出资源来解释处理此类应用程序的好方法吗?
即使没有 View 层,express 也有意义吗?
存储单个值(例如 checkSUM 或 SyncKey)的好方法是什么? DB 是否过度杀伤力?
对于这样的应用程序,文件夹结构会是什么样子。
我知道这是一个相当广泛的问题。我主要是在寻找建议和资源,以及其他人如何解决这个问题的想法。你会使用什么技术?
最佳答案
您可以使用request包以向您的服务发送请求。和cron包以每 5 分钟安排一次任务。
这是此场景的简单代码
var request = require('request');
var CronJob = require('cron').CronJob;
var SOURCE_SERVICE_URL = "http://your.source.service/endpoint";
var DESTINATION_SERVICE_URL = "http://your.destination.service/endpoint";
//initialize this value when you get checkSUM from request and use to compare next checkSUM
var lastCheckSUM = "";
var everyMinuteJob = new CronJob({
cronTime: '*/5 * * * *',
onTick: function () {
console.log("Task started");
task_1();
//you can create and add tasks for other endpoints
},
start: true
});
var task_1 = function () {
request(SOURCE_SERVICE_URL, function (error, response, body) {
if (error) {
console.log("Can not read data from source service.")
return console.log(error);
}
console.log("Data read : " + body);
//TODO - check the checkSUM value of response. Then set it to lastCheckSUM
request
.post(DESTINATION_SERVICE_URL, body, function (error, response, body) {
if (error) {
console.log("Can not send data to destination service.")
return console.log(error);
}
})
});
}
关于node.js - 构建自定义 API 连接器的常见方法有哪些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47330932/