在我的web api中,我主要使用POST方法,因此客户端可以使用JSON发送函数参数。但是,我注意到在客户端和服务器上都有这些参数的模型(dto)并没有多大意义。或者是吗?
由于我正在使用POST是否需要创建一个模型对象来进行绑定?有时我实际上正在处理像Customer这样的实体并且它完全有意义,但是当我处理3个随机参数时,我真的需要创建一个模型(dto)以便我可以将数据检索到POST函数中吗?
这是我的WEB API中的POST函数:
[HttpPost, Route("GetAccountInformation")]
public IActionResult RetrieveAccountInformation(GetAccountInformationParamsObj myParams)
{
var retVal = _repository.GetAccountInformation(myParams.StartDate, myParams.EndDate, myParams.Count)
return Ok(retVal);
}
以下是客户端将在POST正文中发送的内容的示例:
{
"StartDate":"10-25-2015",
"EndDate":"11-25-2015",
"Count":20
}
如果以下方法可行,但在提出请求时param值最终为空,那将是很好的:
[HttpPost, Route("GetAccountInformation")]
public IActionResult RetrieveAccountInformation([FromBody] DateTime startDate, DateTime endDate, int count = 0)
{
}
答案 0 :(得分:2)
您不需要执行POST
,您尝试做的事情并不能证明POST
,只是尝试使用 Attr {从uri获取数据{1}}像这样:
[FromUri]
并按照以下方式发出请求:
<强> / GetAccountInformation的StartDate = 2015年10月25日&安培;结束日期= 2015年11月25日&安培;计数= 20 强>