【发布时间】:2017-05-30 19:27:23
【问题描述】:
我正在尝试创建这样的记录:
[Route("", Name = "CreateAccount")]
[HttpPost]
public async Task<IHttpActionResult> CreateAccount([FromBody] JObject account)
{
var response = await _accountService.Create(account);
return CreatedAtRoute(
routeName: "GetAccount",????);
}
记录创建成功;然而。我不确定如何返回 CreatedAtRoute 对象?
这是我的 GET 控制器方法:
[Route("", Name = "GetAccount")]
[HttpGet]
public async Task<IHttpActionResult> GetAccount()
{
var query = Request.RequestUri.PathAndQuery.Split('/')[2];
var response = _accountService.Get(query);
if (!response.Result.IsSuccessStatusCode)
{
return NotFound();
}
var readAsAsync = response.Result.Content.ReadAsAsync<object>();
if (readAsAsync == null)
{
return NotFound();
}
var result = await readAsAsync;
return Ok(result);
}
如你所见,控制器不接受任何参数,而是从Request.RequestUri.PathAndQuery获取参数
创建记录后,我们如何返回一个有效的CreatedAtRoute结果?
【问题讨论】:
标签: c# asp.net .net asp.net-web-api