我的控制器中有一个方法,其签名如下:
[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";
}
}
尽我所知,这种格式与发送的数据相匹配,但它无法验证。无论出现什么问题都不在我的任何代码中,我可以设置一个断点,所以我该如何调试这个并弄清楚出了什么问题?
答案 0 :(得分:1)
正确的格式为"MMMM' 'dd', 'yyyy', 'HH':'mm':'ss"