電子メール認証を使用してメンバーシップメソッドを実装するために、電子メール内の認証リンクをクリックすると、サーバーでトークンを内部的に確認した後でユーザー作成APIを呼び出します。私はコントローラ間で通信する方法を考えています
//emailcontroller.js
router.get('/register/token', function(req, res) {
// check token
if(check(req.params.token)) {
request('http://localhost:8080/api/user', function(data) {
});
}
});
//usercontroller.js
router.post('/api/user', function(req, res) {
var user = new User();
user.userId = req.body.userId;
user.userPw = req.body.userPw;
user.save();
});
私は、電子メール認証を使用してメンバーシップの方法を実施するために、電子メールでの認証リンクをクリックしたときに、サーバーの内部でトークンを確認した後、ユーザー作成APIを呼び出すようにしたいです。
上記のように、電子メールコントローラとユーザーコントローラは分割され、それぞれがルーティングされます。私はコードをモジュール化して、既存のユーザー作成APIを呼び出して、特定のコントローラーの共通関数を作成してエクスポートするのではなく、汎用目的で使用したいと考えています。
/*I do not want to implement it this way.*/
//emailController.js
router.get('/register/token', function(req, res) {
// check token
if(check(req.params.token)) {
userContoller.createUserFromEmail(userId, userPw);
}
});
//userController.js
exports.createUserFromEmail = function(userId, userPw) {
var user = new User();
user.userId = userId;
user.userPw = userPw;
user.save();
}
しかし、私は多くの例でコントローラ間の通信を見たことがありません。だから、私が正しいと思った方法が正しいかどうかわからない。むしろ、私はサーバー上でAPIを内部的に呼び出すコストが高くなるかもしれないと思います。
コントローラ間の正しい通信パターンを知りたい。質問をするときは、スタックのオーバーフローしかないことに注意してください。
あなたは、もしかして、あなたは利用者を呼び出したい/ルートを作成しますか? あなたの質問は不透明です。説明してください –