Вот как определяются все наши связующие модели:
открытый класс FooBinder: IModelBinder
{
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
{
if (bindingContext.ModelType == typeof(Foo))
{
return FooParameter(actionContext, bindingContext);
}
return false;
}
Если вы хотите сделать несколько параметров из вашего ввода, вы можете просто указать желаемое связующее в методе вашего контроллера.
public async Task<HttpResponseMessage> GetFoo(
[ModelBinder] Foo1 foo1 = null, [ModelBinder] Foo2 foo2 = null)
{
...
}
Возможно, я неправильно понял ваш вопрос, но это пример реального кода в нашей системе.