使用Express.js做rest api,如何统一设置api的版本?
发布于 10 年前 作者 heyuncoder 5337 次预览 最后一次回复是 10 年前 来自 问答
之前的api格式为: api.domain.com/user/:id api.domain.com/order …
现在api版本升级,url的格式变成如下: api.domain.com/v2/user/:id api.domain.com/v2/order …
大家有什么好的解决方案?
8 回复
之前的api格式为: api.domain.com/user/:id api.domain.com/order …
现在api版本升级,url的格式变成如下: api.domain.com/v2/user/:id api.domain.com/v2/order …
大家有什么好的解决方案?
https://cnodejs.org/topic/55c1fa095965fe2c74f477f7
用 https://github.com/moajs/mount-routes 超简单
http://expressjs.com/en/4x/api.html#express 文档不是有吗?
@mage3k 他说的api是指提供json接口,你说的是express的api,不是一回事儿
@i5ting 看
app.mountpath啊。。。@mage3k 我知道可以嵌套调用,你的意思是让他把api独立出去,然后以路由挂载子应用的方式?是一个办法
不过还是比较麻烦
我的做法是创建routes目录
通过路径来约定版本号非常简单,比如多个版本共存
以此类推
@i5ting 哈哈,是的。我以为你没往下翻。 不过楼主说了是用
Express嘛,如果是在已有的项目上处理的话可以这么做的吧。@mage3k 恩,是呀,这样分开是比较好的实践,不过大部分人都怕麻烦,于是有了quick and dirty法