公開されているコントローラーがあります(アクションはセキュリティ属性の下に隠すことはできません)。コントローラには、公開されているアクションもあります。
以下は、コントローラーのサンプル構造です。
public SomeController : Controller {
[HttpGet]
public ActionResult show(int id){
}
}
アクションには、必須のid
フィールドがあります。ただし、誰かが必要のない不正な形式のURLを入力した場合id
(または検索エンジンボットが必要なURLをヒットした場合id
)に、不必要にログに追加されるエラーをスローします。
このソリューションに対処するための理想的なソリューションは何である必要がありますか。
私の頭に浮かぶ可能な解決策は次のとおりです。
- idをNullable(int?id)として設定し、適切なエラーを示す他のページに呼び出し元をリダイレクトすることにより、値がない場合を明示的に処理します
- 明示的に404エラーを送信します
これを行うために属性を使用する一般的な方法はありますか?
PS :(具体的には)明示的に言うと、コントローラーごとにそのようなケースを処理するための条件が他にある場合に書き込むことを意味します。
正しい方向へのヒントをいただければ幸いです。