【问题标题】:How to pass multiple parameters into RESTful API for query?如何将多个参数传递给 RESTful API 进行查询?
【发布时间】:2018-04-01 09:40:21
【问题描述】:

我有一个 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;

谢谢。

【问题讨论】:

标签: node.js restful-url


【解决方案1】:

试试这个

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;

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

【讨论】:

  • 你能告诉我如何使用改造调用这个 API 吗?
猜你喜欢
  • 2011-02-08
  • 2018-03-08
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 2017-03-08
  • 2014-04-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多