目前,我正在运行带有express的节点js后端,以从客户端访问mysql数据库。现在,我正在重构代码,将来自客户端的“胖”东西也放到nodejs后端。我的第一个想法是保持快速路线如:
模块A:
router.get('/getitem/:code',(req, res) => {
let sql = `SELECT * FROM xyz WHERE CODE = ${req.params.code}`;
let query = db.query(sql, (err, result) =>{
if(err == null){
console.log(result);
res.send(result);
}else{
console.log("Error by getting item from db: " + err);
throw err;
}
});
});
Run Code Online (Sandbox Code Playgroud)
并根据需要通过其他模块通过http请求进行访问:
function geodataByLocationcode(locationcode){
request({
method: 'GET',
url: "http://" + server_connection.host + ":" + server_connection.port + '/getitem/' + locationcode,
headers: {
"Content-Type": "application/json"
}
},function(error, response, body){
....
}
Run Code Online (Sandbox Code Playgroud)
但这是执行此操作的最佳方法吗?还是因为请求现在也来自后端,以更直接的方式访问数据库会更好?
您可以找到一个很好的示例,说明如何使用本机驱动程序使用MySql和Node.js(没有任何查询生成器,如knex或ORM,如书架)。
依存关系:
expressjs 4.x
核心概念是:
示例:https://github.com/Talento90/organization-api/tree/master/organizations-api/src
| 归档时间: |
|
| 查看次数: |
5149 次 |
| 最近记录: |