如何调试无效的POST主体?

时间:2018-06-13 20:36:46

标签: serialization asp.net-core

我的控制器中有一个方法,其签名如下:

[HttpPost]
public IActionResult Post([FromBody] MyDataType value)

当我的前端发送POST数据时,它甚至从未到达此方法,错误输出并返回HTTP 400(错误请求)。回复机构说:

{"lastUpdated":["The supplied value is invalid."]}

发送的无效lastUpdated属性的值为:

"June 13, 2018, 14:05:48"

在我的MyDataType课程中,LastUpdated属性的定义如下:

[JsonConverter(typeof(Converters.DateFormatConverter))]
public DateTime LastUpdated { get; set; }

DateFormatConverter是一个Newtonsoft.Json序列化转换器,它指定了datetime值的正确格式:

public class DateFormatConverter : IsoDateTimeConverter
{
    public DateFormatConverter()
    {
        DateTimeFormat = "MMM' 'dd', 'yyyy', 'HH':'mm':'ss";
    }
}

尽我所知,这种格式与发送的数据相匹配,但它无法验证。无论出现什么问题都不在我的任何代码中,我可以设置一个断点,所以我该如何调试这个并弄清楚出了什么问题?

1 个答案:

答案 0 :(得分:1)

正确的格式为"MMMM' 'dd', 'yyyy', 'HH':'mm':'ss"