具有 url-formencoded 的模型属性自定义名称

Dan*_*off 4 c# serialization asp.net-web-api asp.net-core-mvc asp.net-core

我在 webapi (.net core 2.1) 中遇到绑定问题。通常当我使用 xml/json 时,我可以向模型道具添加属性(通过 XmlElement 或 JsonProperty)。但是,我有一个项目使用 application/x-www-form-urlencoded 作为媒体类型,因此,模型仅在参数名称与属性名称匹配时才有效(幸运的是不区分大小写)。您能否建议是否有办法实现这种映射?

Kir*_*kin 11

您可以使用 属性来注释模型属性,该FromForm属性具有Name指定绑定时要使用的名称的属性。下面是一个例子:

public class SomeModel
{
    [FromForm(Name = "SomePropertyNameToUse")]
    public string SomeProperty { get; set; }

    [FromForm(Name = "SomeOtherPropertyNameToUse")]
    public string SomeOtherProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)