我正在返回HttpResponseMessage
,但是我的代码仍然抱怨并抛出错误,
'TestController.Post()':并非所有代码路径都返回值
这里返回什么?
public async Task<IHttpActionResult> Post()
{
var response = await IsDataValid();
if (response)
return Ok(new HttpResponseMessage(HttpStatusCode.OK));
}
答案 0 :(得分:3)
您只需再添加几行代码即可解决上述错误。
public async Task<IHttpActionResult> Post()
{
var response = await IsDataValid();
if (response)
return Ok(new HttpResponseMessage(HttpStatusCode.OK));
else
return NotFound();
}
其他部分在这里很重要。
答案 1 :(得分:1)
如果在ApiController
内,则返回HttpResponseMessage
时无需返回IHttpActionResult
。使用控制器的辅助方法。
例如
public async Task<IHttpActionResult> Post() {
var response = await IsDataValid();
if (response)
return Ok();
return BadRequest();
}