簡體   English   中英

參數為空的 ExpressJS 路由器

[英]ExpressJS router with parameter empty

我正在使用 ExpressJS 使用 NodeJS 開發我的第一個 Rest API。 它非常簡單直觀。 我的路由規則之一是:

api.get("/api/plugin/:action", (req,res) => { ... }

如果我發送:

http://localhost:3000/api/plugin

我得到了錯誤:

Cannot get /api/plugin/

有沒有辦法攔截這種單一的情況,不包括沒有:動作的路由? 我需要檢查 req.param,並驗證操作參數,即使它是空的。

你可以用? 在路由中使您的參數可選

api.get("/api/plugin/:action?", (req,res) => { ... }

您有 2 個選項:

  1. 將可選路徑參數與? , 像這樣
api.get("/api/plugin/:action?", (req,res) => { ... }
  1. 使用查詢參數,如下所示:
api.get("/api/plugin/", (req,res) => { ... }

並致電:

http://localhost:3000/api/plugin?action=

並簽入req.query object

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM