Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web api 应用程序的自定义属性名称绑定/x-www-form-urlencoded_Asp.net Web Api - Fatal编程技术网

Asp.net web api 应用程序的自定义属性名称绑定/x-www-form-urlencoded

Asp.net web api 应用程序的自定义属性名称绑定/x-www-form-urlencoded,asp.net-web-api,Asp.net Web Api,对于application/json或application/xml我可以使用DataContract进行自定义属性名称绑定: [HttpPost] public string Method([FromBody]Model request) { } [DataContract] public class Model { [DataMember(Name="custom_name")] public string CustomName { get; set; } } 如何为应用

对于
application/json
application/xml
我可以使用
DataContract
进行自定义属性名称绑定:

[HttpPost]
public string Method([FromBody]Model request)
{
}

[DataContract]
public class Model
{
    [DataMember(Name="custom_name")]
    public string CustomName { get; set; }
}

如何为
应用程序/x-www-form-urlencoded
使用
DataContract
或其他工具?

可以使用表单urlencoded的内置FormUrlEncodedMediaTypeFormatter实现。它应该适用于任何POCO类(您的数据契约也应该适用,但它会忽略数据契约属性)


确保在web api中配置了媒体类型格式化程序。

以下是MSDN关于设置DataContractFormat的帖子:


该类包含。您可以尝试上面的帖子来设置DataContractSerializer。

这是一篇旧帖子,但这可能会帮助其他人。以下是执行此类代码的解决方案:

[ModelBinder(typeof(AliasBinder))]
public class MyModel
{
    [Alias("state")]
    public string Status { get; set; }
}

希望这有帮助:)

FormUrlEncodedMediaTypeFormatter和JQueryMvcFormUrlEncodedFormatter不适用于数据合同请不要添加多个问题。回答最好的一个,并将其余的标记为重复项。请参阅可能的副本