Express 4.x で作成したアプリケーションに問題があります。呼び出されたルートをチェックする認証ミドルウェアがあり、パラメータなしでルートを取得したいのですが ...
例 :
このルートを宣言しました: /authentication/newPassword/:token
request.path がこの特定のルートと一致するかどうかを知りたいです...
これは私のURLです:/authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
だから私はさまざまな変数を探していました:
req.path // /authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
req.originalUrl // /authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
req.url // /authenticate/newPassword/XRlIjoiMjAxOC0wOC0xM1QwOTNzo1Mi43ODBaIn0=
req.pathname // undefined
私はグーグルを見ていましたが、パスを知るために.refersを使用してreq.headersの使用に誰かが答えているのを見ましたが、私の明示的なアプリケーションはAPIであり、他のURLの他のアプリケーションによって呼び出されるため、リファラーは適切なものと一致しませんURL
次のように正規表現を使用して問題の解決策を見つけました。
const pathOk = /\/authenticate\/newPassword\/.+/;
if(pathOk.test(req.path)) { //Continue the middleware ...
だから私の質問は簡単です、ExpressまたはNodeにそのようなものを作る何かがありますか:
if (req.{something like path} == '/authentication/newPassword/:token') {
回答ありがとうございます。