私が達成しようとしているのは、MVC Web Api プロジェクトで文字列型のすべての着信オブジェクト プロパティをトリミングすることです。
モデルバインダーで解決すればいいのにと思ったのですが、当てはまらず、代わりにカスタムモデルバインダーを設定しようとするとModelBinders.Binders.DefaultBinder
..
たとえばJsonは{"Name": " Test Name ", "Number": 15}
例-ModelBinder
明示的に指定すると、機能します..
[ModelBinder(typeof(MyCustomBinder))]
public class TestObject
{
public string Name { get; set; }
public int Number { get; set; }
}
コントローラー...
public class TestController : ApiController
{
// POST api/test
public void Post([ModelBinder(typeof(MyCustomBinder))]TestObject value)
{
}
そして登録
ModelBinders.Binders.Add(new KeyValuePair<Type, IModelBinder>(typeof(TestObject), new MyCustomBinder()));
しかし、より一般化されたアプローチを見つけたいので、プロジェクトのすべてのモデル クラスを装飾する必要はありません。