複雑なWebリクエストを.Netオブジェクトに変換する方法が必要です。WebAPIはデフォルトのモデルバインダーを使用し、複雑なデータにはカスタムモデルバインダーが必要であることを理解しています。
オブジェクト
Public Class LapMobileModel
Public Property Type As Integer
Public Property EndTime As String
Public Property StartTime As String
End Class
Public Class RaceMobileModel
Public Property RaceName As String
Public Property UserId As Integer
Public Property Laps As IEnumerable(Of LapMobileModel)
Public Property numberOfRacers As String
Public Property PreRacePosition As String
Public Property PostRacePosition As String
End Class
Public Class RaceListMobileModel
Public Property RaceList As IEnumerable(Of RaceMobileModel)
End Class
アクション(ApiController内)
Public Function SyncLapData(ByVal raceList As RaceListMobileModel) As String
'stuff
Return "OK"
End Function
そして、私はカスタムモデルバインダーのスケルトンを持っています:
Imports System.Web.Http
Imports System.Web.Http.ModelBinding
Imports System.Web.Http.Controllers
Public Class EventDataModelBinder
Implements IModelBinder
Public Function BindModel(actionContext As HttpActionContext,
bindingContext As ModelBindingContext)
As Boolean Implements IModelBinder.BindModel
End Function
End Class
質問:
actionContext
を使用して、構築する必要のあるデータにアクセスするにはどうすればよいRaceListMobileModel
ですか?
どうすれば適切に保管できますbindingContext
か?
現在、データはJSONコンテンツを含むPOSTを介して送信されています。