我正在尝试创建一条快速路由,该路由基本上允许我通过将 ?symbol=
放在 URL 上来输入股权名称作为查询。在股权名称之后,我想添加一个新的路由。
const express = require("express")
const app = express()
app.get("/api/v1/equity/latest", (req, res) => {
res.send(req.query)
})
app.listen (3000, () => {
console.log("listening to port 3000")
})
当我将 URL 设为 localhost:3000/api/v1/equity?symbol=BBNI/latest/
然后查看收到的查询时,它收到的地址为 symbol = BBNI/latest/
如何将符号查询与下一个 /latest
路由分开?
答案 0 :(得分:0)
这是一个奇怪的 URL 模式,因为如果任何开发人员看到这个 URL:
/v1/equity?symbol=BBNI/latest/
暗示symbol
参数是确实是BBNI/latest/
而不仅仅是BBNI
但是,如果您想“分离”这些部分,您可以这样做:
const [symbol, latest] = req.query.symbol.split('/', 2);
但您可能应该设计一个更好的 URL 结构。
答案 1 :(得分:0)
我认为这不是一个好方法。
请试试这个。
const express = require("express")
const app = express()
app.get("/api/v1/equity/:symbol/latest", (req, res) => {
res.send(req.params.symbol)
})
app.listen (3000, () => {
console.log("listening to port 3000")
})