使用expressJS 4.X与6.x的的NodeJSExpressJS,路线清晰,控制位置和API文档
我以前定义我的路线是这样的:
/**
* @api {get} /users/:userId Get a user
* @apiName GetUser
* @apiGroup User
*
* @apiParam {Integer} userId Users unique ID.
*
* @apiSuccess (Success 201) {text} User email
* @apiError {text} 401/Unauthorized.
* @apiError {text} 404/Not Foud Unknown userId
*/
router.get('/users/:userId', function(req, res, next) {
const userId = req.params.userId;
//get user
res.json(user);
}
,我发现这是一个正确的方法因为要做到这一点:
- 你写的路由定义上面的路线文档
- 如果修改路由,修改文档
- 你有你的控制器上面的路线文档
- 网址参数/主体内容(req.params.name // req.body.name)
- HTTP错误代码返回
- IDE像webstorm使用了自动完成
寻找最佳实践,我已经讲了很多次,我应该创建一个控制器,使路线确定指标的其他地方,用下面的代码结尾:
class UserController {
constructor() {
this.listAll = this.listAll.bind(this);
}
getUser(req, res, next) {
const userId = req.params.userId;
//get user...
res.json(user);
}
}
router.get('/users/, UserController.getUser);
唯一的好理由我组织的这种方式见你的代码是,如果你有两条道路做同样的事情,你可以让它们使用同一个控制器。
- 我应该不断分开我的控制器&我的路线?
- 如果是,我应该如何记录它?
- 这样的代码组织有什么好处?