【发布时间】:2021-06-28 10:40:42
【问题描述】:
我的 api 每 45 分钟接收一次请求:
GET http://MyHost/mediciones/sigfox_libelium/{device}/{data}/{time}/{customData#trama}
我希望我的代码将 {device}、{data}、{time} 和 {customData#trama} 保存到不同的变量中,以便我可以将其解析为可读值(发送的所有数据都是十六进制)并将它们插入到我的数据库。 如何从 URL 中取出这些值?
另外,req, res的目的是什么?我猜它代表request, respond。Respond 发回给客户端,但是,request?我真的不明白它是如何工作的。我正在学习所有这些新东西,希望有人能提供帮助。
这是我的 API 代码,我用 postman 试了一下,目前运行良好:
const express = require("express");
const bodyParser = require("body-parser");
const cors = require("cors");
const Pool = require("pg").Pool;
const pool = new Pool({
user: "mgr@stanpgtest",
host: "stanpgtest.postgres.database.azure.com",
database: "my db name",
password: "my pass",
port: 5432
});
const app = express();
app.use(cors());
app.use(bodyParser.json());
app.listen(8000, () => {
console.log(`Server is running, listening to port 8000`);
});
app.post("mediciones/sigfox_libelium/{device}/{data}/{time}/{customData#trama}", (req, res) => {
const { label, status, priority } = req.body;
pool.query(
"select now()",
(error, results) => {
if (error) {
throw error;
}
res.send(results);
}
);
});
【问题讨论】:
-
在 Express 中,您可以使用 Route Parameters 从 URL 获取数据。 (在页面上向下滚动一点)
标签: javascript express http