We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
首发于微信公众号《前端成长记》,写于 2018.09.05
如果是以操作为主,选择 RPC,风格类似 /getUsers;如果是以资源指向为主,选择 Restful ,风格类似 /users。
请务必带上版本进行设计,否则改动将造成不可预计的后果。
比如我分成 stable 和 v1 和 v2 三个版本的接口, stable 是稳定对外输出接口,v1 和 v2 对应不同版本的业务接口。
假设业务接口需要增加登录拦截,那么在 express 中使用的话,像这样就可以:
let app = express() // 全局控制,看需求也可以拆分成 /v1 和 /v2,进行针对性处理 app.use('/', (req, res, next) => { if (/^\/api\/stable\//g.test(req.url)) { // stable api ,不需要登录拦截 next() } else { // 校验登陆 if (isLogin) { next() } else { // 未登录处理逻辑 toLogin() } } })
可以将登录信息写入 req。
如果使用了 multer 处理 fromData 类型上传,千万不要将信息写在 req.body 中,因为 multer 会处理 req ,非 req 自身 body 字段将被过滤。比如 req.body._userInfo = {name: 'McChen'} ,使用 multer 发现 req.body = {}.
使用 multer 中间件,可以自定义过滤,自定义存储等。
分为两种情况:
目前采用以成功率为唯一保障,多文件并行上传的方式。
根据sort条件建立合理的索引值 ensureIndex
ensureIndex
目前没找到合适的解决方案,只在match和sort做了优化,该lookup的还得lookup
(完)
本文为原创文章,可能会更新知识点及修正错误,因此转载请保留原出处,方便溯源,避免陈旧错误知识的误导,同时有更好的阅读体验 如果能给您带去些许帮助,欢迎 ⭐️star 或 ✏️ fork (转载请注明出处:https://chenjiahao.xyz)
The text was updated successfully, but these errors were encountered:
No branches or pull requests
如果是以操作为主,选择 RPC,风格类似 /getUsers;如果是以资源指向为主,选择 Restful ,风格类似 /users。
请务必带上版本进行设计,否则改动将造成不可预计的后果。
比如我分成 stable 和 v1 和 v2 三个版本的接口, stable 是稳定对外输出接口,v1 和 v2 对应不同版本的业务接口。
假设业务接口需要增加登录拦截,那么在 express 中使用的话,像这样就可以:
可以将登录信息写入 req。
使用 multer 中间件,可以自定义过滤,自定义存储等。
分为两种情况:
目前采用以成功率为唯一保障,多文件并行上传的方式。
根据sort条件建立合理的索引值
ensureIndex
目前没找到合适的解决方案,只在match和sort做了优化,该lookup的还得lookup
(完)
The text was updated successfully, but these errors were encountered: