【发布时间】:2018-11-10 15:21:16
【问题描述】:
我有一个 ASP.NET Core 2.0 API 方法:
[HttpPost("api/days")]
GetDays([FromBody] DateTime startTime, [FromBody]DateTime endTime)
{
}
我尝试用 Postman 发送 Post 请求,但是有一个问题,参数总是有默认值。
这是我的 Post 请求的样子:
结果:无效; API 方法中的两个参数都获取默认值。
如果我将 API 参数更改为:
[HttpPost("api/days")]
GetDays([FromBody] Inputparam param)
{
}
public class Inputparam
{
public DateTime startTime { get; set; }
public DateTime endTime { get; set; }
}
效果很好!
但我想直接发送参数,而不是在包装对象内。
所以,我用第一个 API 方法回来了,然后我尝试了:
结果:无效; API 方法中的两个参数都获取默认值。
还有这个:
结果:不完美;只是第一个参数(startTime)设置它,第二个参数仍然有默认值。
还有这个:
结果:无效; API 方法中的两个参数都获取默认值。
我还在 API 中尝试了 [FromForm] 而不是 [FromBody],没有任何改变。
如果我不在 api 中使用 [FromBody] 并通过 x-www-form-urlencoded 发送请求,那就完美了。
但我需要用 JSon 发送原始正文。
如何将 2 个不同的参数作为原始正文 json 发送?
有什么想法吗? 问题出在哪里?
【问题讨论】:
标签: asp.net-web-api asp.net-core postman asp.net-core-2.0 asp.net-core-webapi