特定の文字列がメソッド パラメーター (ルート テンプレートの一部として宣言されている) として渡されることを期待するいくつかのコントローラー メソッドを持つ ASP.NET WebApi アプリケーションがあります。
すべてのメソッドで、渡される文字列は base64 でエンコードされています。つまり、各コントローラー メソッドは、何かを行う前に文字列を base64 でデコードする必要があります。もちろん、各メソッドにこれを簡単に実行させることもできますが、文字列が実際にコントローラー メソッドに渡される前にデコードを実行する方法があるかどうか疑問に思っていました。これは、アクション フィルターまたはカスタム フォーマッターに沿ったものだと思いますが、asp.net Web API に精通していないので、どこから始めればよいのでしょうか?
概要: 次のようなルート テンプレートが{controller}/{encodedString}/whatever
あり{encodedString}
ます。 は常に base64 でエンコードされた文字列です。および次のようなメソッドを持つコントローラー
GetWhatever(string encodedString)
{
Base64Decode(encodedString);
// do other stuff...
}
{encodedString}
コントローラーメソッドが実際に呼び出される前に、asp.net webapi パイプラインの一部を使用してデコードしたいと思います。これを行うには、どのパスを開始する必要がありますか?