0

MVC アプリケーションでは、検索コントローラー ( /search/all/query) を次のように実装しています。

  1. クエリに対してさまざまなタイプの完全に一致するページがあるかどうかを確認し、ある場合はそれらにリダイレクトします (例: /some-other-controller/view/query)。

  2. /search/results/query完全に一致するものがない場合は、ユニオン データベース クエリを介して、可能なオプション ( ) を一覧表示する検索結果ページにリダイレクトされます。

これは非常にうまく機能しますが、次の理由から「間違っている」と感じています。

  1. 完全一致の場合、完全一致を知るために少なくとも 1 つの DB クエリを作成し、次にそのコントローラーから別の DB クエリを作成して実際にそのビューを生成します。

  2. 完全に一致するものがない場合は、いくつかの DB クエリを作成して完全に一致するものがないことを判断し、search/results/関数/ビューに対して別のクエリを作成します。

リダイレクトに焦点を当てたこのソリューションは、いくつかの作業を行ってから、重複する作業を行う必要があるアプリの別の部分に「バックを渡す」ため、不器用で非効率的であることが懸念されます。

私の質問:

  1. 上記のリダイレクトは、実際にこの状況に対する賢明な解決策ですか?
  2. この状況にアプローチするより良い方法はありますか?
4

0 に答える 0