2017-07-18 5 views
0
app.get('login/:id', function (request, response) { 
    … 
}); 

このような要求では、idパラメータはどのようにユーザから設定されますか?各ユーザーは私のサイトに一意のIDを持っているはずです。クライアント側からのルートパラメータを明示的に定義する

セッションでデフォルトでIDを設定するには、ログインする必要がありますか?私はエクスプレスを初めて使うのでワークフローを理解しようとしています。

答えて

0

idパラメータは、クライアントが要求するURLによって決まります。たとえば、クライアントが/login/fooを要求した場合、idfooになります。 app.get('/login/:id', ...)を使用して

+0

クライアントリクエストはどのようにしてfooになりますか?私はちょうど私が持っているとreq.propName経由でアクセスすることで、情報のオブジェクトを送信対vsに混乱している – Aaron

+0

あなたのウェブサイトがexample.comと言うことができます。クライアントがhttp://example.com/login/abcを要求する場合、 'id'パラメータはabcになります。たとえば、example.com/posts/:user/id/:postIdのルートを定義する場合など、APIの場合は主に役立ちます。 – iczero

0

は、誰かが/login/ABCエンドポイントをGETアクセスしたときに、あなたのコントローラがreq.params.idABCを取得することを意味し、それはそれです。 idはセッションからのものではなく、要求に含まれるパスの一部です。

これはエンドポイントの奇妙な名前です。通常は、GET /users/:idを持って特定のユーザーを取得します(おそらくGET /users/meのエイリアスを使用して、現在ログインしているユーザーを取得します)。ここで意図は何かが明確ではない - それはユーザーのIDか、ログインしたユーザーのセッションIDですか?いずれにしても、ここは要求経路の一部に過ぎません。

関連する問題