4

私が達成しようとしているのは、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()));

しかし、より一般化されたアプローチを見つけたいので、プロジェクトのすべてのモデル クラスを装飾する必要はありません。

4

1 に答える 1