【发布时间】:2021-11-09 21:41:23
【问题描述】:
我正在尝试从我的客户端(角度)将一个日期对象传递给我的 API。 (POST 请求)
不幸的是,API 收到了它,但日期绝对错误。
发送:2021 年 11 月 11 日星期四 10:00:00 GMT+0200
修订:1/1/0001 12:00:00 AM
控制器:
[HttpPost("{appointment}")]
public async Task<ActionResult> SetAppointment(DateTime setAppointment)
{
// code
}
客户端
setAppointment(date) {
return this.http.post(environment.apiUrl + 'barber/appointment', date);}
当 date - 是 DateTime 对象时。
我尝试将它作为字符串发送,然后将其解析为 DateTime 对象,它有点工作,但这不是我想要的结果。
我曾尝试在发送之前在客户端将日期显式解析为 DateTime 对象,但效果不佳。
预期的结果是直接在控制器中获取日期作为 DateObject。
对为什么会发生这种事情有任何想法吗?我知道 js 和 c# 以不同的方式处理 DateTime 对象,但我真的不明白如何在不将其作为字符串发送的情况下修复它或解决它。
谢谢!!!
【问题讨论】:
-
您需要指定一个自定义解析器...或者更简单,只需以预期格式进行角度传递?
-
我们能看一个 URI 的例子吗,你编码了吗?此外,通常 POST 包含一个正文,那么为什么 URI 中的日期是日期,除非它是您的约会的 ID?
-
@OmarAbdelBari 感谢快速重播!您能否进一步解释一下预期格式的角度传递是什么意思?因为我真的不明白为什么会这样
-
另外,
appointment!=setAppointment。他们必须匹配。有几个问题,但这将是你的第一个问题 -
还要注意`1/1/0001 12:00:00 AM`是该类型默认值的字符串表示