我正在尝试编写一个自定义模型绑定器,它可以将用属性装饰的属性绑定到不同名称的请求属性,例如
JSON 请求
{
"app": "acme"
}
请求模型(摘录)
[Alias("app")]
public string ApplicationName { get; set; }
...应该导致ApplicationName
填充值“acme”。我一直在为此编写自定义模型绑定器:
模型粘合剂
public BindToAliasModelBinder : IModelBinder {
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext) {
...
}
}
模型绑定器提供者
public class BindFromAliasModelBinderProvider : ModelBinderProvider {
public override IModelBinder GetBinder(HttpConfiguration configuration, Type modelType) {
return new BindFromAliasModelBinder();
}
}
我已经在全球范围内注册了提供商,并且按预期命中了活页夹。我不知道下一步该做什么——如何遍历请求值并根据属性的存在有条件地绑定?