Asp.net web api ASP.NET Web API将模型属性绑定到不同的请求属性
我正在尝试编写一个自定义模型绑定器,它可以将一个用属性修饰的属性绑定到一个不同名称的请求属性,例如 JSON请求 请求模型(节选) 。。。应导致使用值“acme”填充Asp.net web api ASP.NET Web API将模型属性绑定到不同的请求属性,asp.net-web-api,Asp.net Web Api,我正在尝试编写一个自定义模型绑定器,它可以将一个用属性修饰的属性绑定到一个不同名称的请求属性,例如 JSON请求 请求模型(节选) 。。。应导致使用值“acme”填充ApplicationName。我正在为以下内容编写自定义模型活页夹: 模型粘合剂 模型绑定器提供者 我已经在全球范围内注册了提供商,活页夹正在按预期运行。我不知道下一步该怎么做-如何迭代请求值并根据属性的存在条件绑定?如果您只想做别名,可以在属性上使用JsonPropertyAttribute,类似于[JsonProperty(P
ApplicationName
。我正在为以下内容编写自定义模型活页夹:
模型粘合剂
模型绑定器提供者
我已经在全球范围内注册了提供商,活页夹正在按预期运行。我不知道下一步该怎么做-如何迭代请求值并根据属性的存在条件绑定?如果您只想做别名,可以在属性上使用
JsonPropertyAttribute
,类似于[JsonProperty(PropertyName=“app”)]
。我已经尝试过了,不幸的是,它似乎不适用于绑定。我还有DataMember
属性,但运气不好。你找到解决方案了吗。我不是要在实际的json中使用短名称,而是要为调试使用有意义的变量名
{
"app": "acme"
}
[Alias("app")]
public string ApplicationName { get; set; }
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();
}
}