ログインする前にいくつかの必須フィールドを確認するフィルタをマッピングしています。私のコードは次のようになります。私のアプリが動作しているときスパークがフィルタの前に2回実行されています
before("/login", (req, res) -> {
// do some things
LOGGER.debug("before /login");
LOGGER.debug("Request -> " + req);
LOGGER.degub("body " + req.body());
}
、before
フィルターを2回と呼ばれています。
それぞれで、req
は異なるインスタンスです。最初のものでは、req.body()
の内容は空文字列です。 2番目のコンテンツでは、コンテンツはクライアントアプリケーションから送信されたものです。
デバッグでは、パスが+/*paths
と記述されており、SparkUtils
クラスに宣言されています。
二つの質問があります。
- は、私がその動作を無効にするにはどうすればよいですか?
+/*paths
と宣言されたフィルタの目的は何ですか?私は、フィルタのその理由は二回呼び出されていると信じてい
hereが説明するように、私は有効CORSの手順に従ってきたので、あります。とにかく、私はCORSを使う必要がありますが、私のシナリオでは2回呼び出されるフィルターが問題でした。
あなたがお勧めしたように、 'if(HttpMethod.post.name()。equalsIgnoreCase(req.requestMethod()))'を使ってチェックしました。私はそれがエレガントなのかどうかは分かりませんが、それは解決します。 – josivan
@ josivanはい、それは動作しますが、あなたが私に尋ねると、私は個人的にそれがエレガントではないと思う –