0

Spark Javaで404エラーを処理する方法を理解しようとしています。スタックの最後のルートとしてGETエンドポイントを追加することで、エンドポイント "*"を使用したハッキン​​グが提案されています。ただし、アプリケーションの起動後にランタイムにエンドポイントが追加されると、これは機能しません。実行時にエンドポイントが追加されたSpark Java Frameworkのハンドル404

私が考えることができる唯一の回避策は、404応答をトラップしてSparkにリダイレクトするためにApacheサーバーを使用することですが、選択肢があればロジックがアプリケーション外にあることはありません。

提案がありますか?

+0

なぜアプリケーションのブートですべてのルートを宣言していませんか? –

+0

私はアプリケーションフレームワークを作成しています。開発者はいつでも新しいアプリをアップロードして、新しいエンドポイントを再起動せずに自動的に公開することができます。ルートの登録を解除する方法はないので、ハック*ルートを削除して読み込む方法があります。 – juminoz

答えて

0

Spark JavaチームのPer氏によると、v2.5.4のこの機能は数週間後にリリースされる予定です。

私がやったことは、実際にすべてを1つのエンドポイント(// *)にルーティングしていることです。私はシステム内の利用可能なルートをすべて知っているので、私はレジストリをチェックし、一致がなければ "/ 404"にリダイレクトします。もう1つは、ウェブ資産(例:/リソース)のようないくつかのよく知られた最上位ディレクトリを除いて、 "/"を指すようにプロキシを設定することです。

これで、フレームワークでホストされているドメインごとに404ページをサポートできます。

関連する問題