【问题标题】:.Net Core 3.1 WebAPI How to serialize IEnumerable<T> from POST body.Net Core 3.1 WebAPI 如何从 POST 正文序列化 IEnumerable<T>
【发布时间】:2020-05-05 20:59:09
【问题描述】:

我在控制器中有方法:

[HttpPost("add")]
public async Task<IActionResult> Post([FromBody]IEnumerable<TrainingModel> model)

我有模特TrainingModel:

public class TrainingModel
    {
        public int TrainingId { get; set; }
        public string Name { get; set; }
        public float Distance { get; set; }
        public int ElapsedTime { get; set; }
        public DateTime Date { get; set; }
        public string MapPolyline { get; set; }
        public int UserId { get; set; }
    }

下一个查询使用 Postman 返回空对象

有人可以帮忙吗?我做错了什么?

【问题讨论】:

  • 无法在新解决方案中重现它(TBH 数据略有不同)。提供的代码似乎没问题。
  • 您检查过模型错误吗?
  • 这段代码对我有用!你能分享一下json body吗?
  • 相同的代码和相同的请求数据适用于我。你对模型绑定做了一些自定义操作吗?

标签: c# asp.net .net asp.net-core .net-core


【解决方案1】:

TrainingId 属性有问题,此属性的给定值导致溢出。感谢您的帮助。

【讨论】:

    【解决方案2】:

    我遇到了类似的问题。对我来说,这是因为出于某种原因,我试图反序列化的模型不包含 [DataContract] [DataMember] 属性。一旦我将它们添加到按预期反序列化的所有内容中:

    [DataContract]
    public class PersonViewModel
    {
            [DataMember(Name = "address", EmitDefaultValue = true)]
            public string Address { get; set; }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      • 2021-03-15
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多