簡體   English   中英

Node Express 中的通用路由前綴 + 特定路由

[英]Generic route prefix + specific route in Node Express

我有一個系統,在指定您要訪問的數據之前,您需要提供您正在訪問的公司,以檢查授權。

例如,獲取產品、材料和用戶:

獲取公司/123123/產品

GET公司/123123/材料

獲取公司/123123/用戶

在節點 JS 中創建快速路由時,我在所有路由聲明中使用前綴“company/:id”:

app.get(" /company/:id /product", callbackProduct);

app.get(" /company/:id /material", callbackMaterial);

app.get(" /company/:id /user", callbackUser);

問題是,有沒有什么方法可以概括這條路線的“公司”部分,而我不需要在所有路線中重新編寫它?

例如:

應用程序。 某事(“/company/id:/*”,genericCallback);

app.get("/product", callbackProduct);

app.get("/material", callbackMaterial);

app.get("/user", callbackUser);

你可以做的是使用 express.Router。
company.routes.js中,您會編寫類似的內容。

const express = require("express");
const CompanyRouter = express.Router();

CompanyRouter.get("/:id/product", callbackProduct);
CompanyRouter.get("/:id/material", callbackMaterial);
CompanyRouter.get("/:id/user", callbackUser);

module.exports = CompanyRouter;

在您的server.js文件中,您將執行以下操作。

const express = require("express");
const CompanyRouter = require("./path/to/CompanyRouter.js")

const app = express();
app.use("/company", CompanyRouter);
app.listen(3000);

暫無
暫無

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

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