我正在使用express.js构建REST API.
我的API需要提供所有端点来对"用户"进行CRUD,所以到目前为止我有以下内容:
app.get('/users', getAllUsers); // get all users
app.post('/users', createUser); // create a new user
app.put('/users', updateUser); // update a user
app.delete('/users', deleteUser); // delete a user
Run Code Online (Sandbox Code Playgroud)
但是,获得单个用户是一个很好的实践终点吗?
理想情况下,如果你得到/users/1234我应该只返回ID为1234的用户,但如果我这样做,/users我应该返回所有用户,因为没有检测到ID.
我怎么能重构我的:
app.get('/users', getAllUsers);
处理这两种情况?
您可以创建更高级别的路由器,然后在其上调用app.use()/ router.use().这是Express文档中的推荐方法.
var express = require('express');
var app = express();
var usersRouter = express.Router();
usersRouter.get('/', function(req, res) {
res.send('Got all users');
});
usersRouter.get('/:id', function(req, res) {
res.send('Got user ' + req.params.id);
});
app.use('/users', usersRouter);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
468 次 |
| 最近记录: |