使用查询参数的 Express API 版本控制
Posted
技术标签:
【中文标题】使用查询参数的 Express API 版本控制【英文标题】:Express API Versioning with query params 【发布时间】:2017-11-20 16:40:58 【问题描述】:我是 NodeJS 初学者,我正在使用 Express 开发 API 后端。
我已经阅读了很多关于如何使用 Express 进行 API 版本控制的文章,但没有一篇文章解释了如何使用查询参数方法。
我喜欢像这样进行 API 版本控制:
example.org/users?version=1.0
example.org/users?version=1.1
example.org/users?version=1.2
等等。如何正确处理和构建我的 API 代码以实现此目的?
【问题讨论】:
【参考方案1】:你可以做这样的事情(这只是一个例子,你可以用很多方式玩它)
index.js:
var express= require('express')
, app = express()
, usersHandlers = require('./handlers/users');
app.use("/users",usersHandler);
function usersHandler(req,res)
var version = req.query.version;
console.log("This code is relevent for all versions");
usersHandlers[version](req,res);
app.listen(8000,function()
console.log('Server running at http://127.0.0.1:8000/');
);
users.js:
module.exports =
'1.0' : function(req,res)
res.send("This is the response for version 1.0");
,
'2.0' : function(req,res)
res.send("This is the response for version 2.0");
【讨论】:
以上是关于使用查询参数的 Express API 版本控制的主要内容,如果未能解决你的问题,请参考以下文章
基于 GET 参数的 Express/Mongoose REST API 路由
如何在 Node/Express 应用程序中处理 api 版本
C++ Express 版缺少哪些 Visual Studio 2008 生产力功能?