【问题标题】:Web API Form - Url Encoded Complex ParameterWeb API 表单 - Url 编码的复杂参数
【发布时间】:2014-06-25 05:14:54
【问题描述】:

在 WebAPI 中反序列化复杂类型让我非常痛苦。 数据包含在 c# 中作为属性名称在语法上无效的键。 如何翻译键名?

相关:Web API form-urlencoded binding to different property names

【问题讨论】:

    标签: asp.net-web-api asp.net-web-api2


    【解决方案1】:

    您可以使用JSON.NETJsonProperty 来解决问题:

    public class SomeModel {
        [JsonProperty("YourCustomName")]
        public string SomeProperty { get; set; }
    }
    

    【讨论】:

    • FormUrlEncodedMediaTypeFormatter 会识别该属性吗?
    • 看起来对于 JSON 反序列化和序列化它有效,但不适用于表单 urlencoded 数据。
    【解决方案2】:

    我编写了自己的url encoded object deserializer,它使用了JsonProperty 属性。然后我将它与自定义 modelbinder 一起使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-05
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      相关资源
      最近更新 更多