You need to register the factory in Startup.cs
:
GlobalConfiguration.Configure(config =>
{
config.Services.Add(typeof(ValueProviderFactory), new MultipartFormDataValueProviderFactory());
});
That should take care of complex type arguments on your API controllers. For simple types you have to specify the [ModelBinder]
attribute on the parameter.