[英]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.