如何将多个参数传递给RESTful API进行查询?

时间:2018-04-01 09:40:21

标签: node.js restful-url

我有一个node.js程序。

我想使用这个node.js程序执行如下查询:

SELECT * from users where uid = ? and role = ?

我想设计如下的网址:

http://localhost:4001/api/v1/getUserByUID?uid=XXXXX&role=XXXXX

如何修改以下编码以实现我的目标?

var express = require('express');
var router = express.Router();


router.get('/api/v1/getUserByUID/:uid', function(req, res, next) {
    connection.query('SELECT * from users where uid = ?', [req.params.uid], function (error, results, fields) {
        if(error){
            res.send(JSON.stringify({"status": 500, "error": error, "response": null})); 
            //If there is error, we send the error in the error section with 500 status
        } else {
            res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
            //If there is no error, all is good and response is 200OK.
        }
    });
});

module.exports = router;

谢谢。

1 个答案:

答案 0 :(得分:2)

试试这个

var express = require('express');
var router = express.Router();


router.get('/api/v1/getUserByUID', function(req, res, next) {
    connection.query('SELECT * FROM users WHERE uid = ? AND role = ?', [req.query.uid, req.query.role], function (error, results, fields) {
        if(error){
            res.send(JSON.stringify({"status": 500, "error": error, "response": null})); 
            //If there is error, we send the error in the error section with 500 status
        } else {
            res.send(JSON.stringify({"status": 200, "error": null, "response": results}));
            //If there is no error, all is good and response is 200OK.
        }
    });
});

module.exports = router;

你显然想确保查询参数被清理等等。

相关问题