2017-10-17 73 views
0

我:ExpressJS:添加前綴版本路線的最佳方式

let user = require('./model/user/user.route'); 
let companyType = require('./model/masterCollections/companyType/companyType.route'); 
let jobPosting = require('./model/jobPosting/jobPosting.route'); 
let login = require('./model/login/login.local'); 


module.exports = function(app) { 
    app.use('/user', user); 
    app.use('/companyType', companyType); 
    app.use('/login', login.local); 
    app.use('/jobs', jobPosting); 
} 

我可以手動添加前綴到每一個這樣的

let prefix = '/api/v1' 
    app.use(prefix + '/user', user); 
    app.use(prefix + '/companyType', companyType); 
    app.use(prefix + '/login', login.local); 
    app.use(prefix + '/jobs', jobPosting); 

但它似乎不是一個好最佳實踐。所以我的問題是添加版本的最佳方式是什麼。

在此先感謝。

回答

2

建議按版本管理路由文件。

如果需要('文件夾')調用,index.js文件夾中。

我會讓你知道我安排的頁面。 The full code for that description is included in this link:

app.js

// ... skip ... 

const apiv1 = require('./route/APIV1'); //./routes/APIV1/index.js 
const apiv2 = require('./route/APIV2'); //./routes/APIV2/index.js 

app.use('/APIV1', apiv1); 
app.use('/APIV2', apiv2); 

// ... skip ... 
  • APIV1

./routes/APIV1/index.js

const express = require('express'); 
const router = express.Router(); 
const user = require('./user.js'); 
const jobs = require('./jobs.js'); 

router.use('/user', user); 
router.use('/jobs', jobs); 

module.exports = router; 

./routes/APIV1/user.js

const express = require('express'); 
const router = express.Router(); 

router.get('/', function(req, res){ 
    res.end('/APIV1/user : get'); 
}) 


router.post('/', function(req, res){ 
    res.end('/APIV1/user : post'); 
}) 

module.exports = router; 

./routes/APIV1/jobs.js

const express = require('express'); 
const router = express.Router(); 

router.get('/', function(req, res){ 
    res.end('/APIV1/jobs : get'); 
}) 


router.post('/', function(req, res){ 
    res.end('/APIV1/jobs : post'); 
}) 

module.exports = router; 
  • APIV2

./routes/APIV2/index.js

const express = require('express'); 
const router = express.Router(); 
const user = require('./user.js'); 
const jobs = require('./jobs.js'); 

router.use('/user', user); 
router.use('/jobs', jobs); 

module.exports = router; 

./routes/APIV2/user.js

const express = require('express'); 
const router = express.Router(); 

router.get('/', function(req, res){ 
    res.end('/APIV2/user : get'); 
}) 


router.post('/', function(req, res){ 
    res.end('/APIV2/user : post'); 
}) 

module.exports = router; 

./routes/APIV2/jobs.js

const express = require('express'); 
const router = express.Router(); 

router.get('/', function(req, res){ 
    res.end('/APIV2/jobs : get'); 
}) 


router.post('/', function(req, res){ 
    res.end('/APIV2/jobs : post'); 
}) 

module.exports = router; 

如果使用方法,你可以簡單的管理您的API

編碼愉快〜

相關問題