この質問を見てみましょうASP.net Web API の MVC の DefaultModelBinder に相当するものは何ですか? バインディングが発生する場所の詳細については、 を参照してください。
あなたModel
がメッセージ本文に渡されていると思いますか?
その場合、WebApi はフォーマッターを使用して型を逆シリアル化し、モデルを処理します。デフォルトはXmlMediaTypeFormatter
、JsonMediaTypeFormatter
またはFormUrlEncodedMediaTypeFormatter
です。
本文にモデルを投稿する場合、要求または承認されたコンテンツ タイプ (application/xml、application/json など) に応じて、シリアライザーの設定をカスタマイズするか、独自の をラップまたは実装する必要がありますMediaTypeFormatter
。
application/json を使用している場合JsonConverters
は、UserInfo クラスのシリアル化をカスタマイズするために使用できます。Web API ModelBinders - オブジェクトの 1 つのプロパティを別の方法でバインドする方法と、 WebApi Json.NET カスタム日付処理の例がここにあります。
internal class UserInfoConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return objectType == typeOf(UserInfo);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue,
JsonSerializer serializer)
{
//
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
//
}
}