[HttpGet("{id}")]
public Visitor Get(string id)
{
var result = _visitorRepository.GetFromDB(id);
if (result == _visitorRepository.GetFromDB(id))
return StatusCode(200);
if (result != null)
return result;
else
return StatusCode(408);
}
它给我一个错误,因为StatusCode具有ActionResult返回类型
[HttpGet("{id}")]
public ActionResult Get(string id)
{
var result = _visitorRepository.GetFromDB(id);
if (result == _visitorRepository.GetFromDB(id))
return StatusCode(200);
if (result != null)
return result;
else
return StatusCode(408);
}
它给了我一个错误,因为结果有访客返回类型
我只需要一个方法,但我无法将ActionResult的返回类型转换为访问者,反之亦然。
您可以按照以下说明更正您的两项功能。
如果你的第一个功能:
[HttpGet("{id}")]
public Visitor Get(string id)
{
var result = _visitorRepository.GetFromDB(id);
if (result != _visitorRepository.GetFromDB(id))
return StatusCode(200); // Somehow make this to return "Visitor" type
if (result != null)
return result; // Somehow make this to return "Visitor" type
else
return StatusCode(408); // Somehow make this to return "Visitor" type
}
如果您想使用第二个功能,请进行以下更改:
[HttpGet("{id}")]
public ActionResult Get(string id)
{
var result = _visitorRepository.GetFromDB(id);
if (result != _visitorRepository.GetFromDB(id))
return Ok();
if (result != null)
return Ok(result); // Return type of ActionResult
else
return BadRequest();
}
仅供参考ActionResult
为StatusCode(200)
返回类型可能是
return Ok();
return new HttpStatusCodeResult(HttpStatusCode.OK); // OK = 200
https://forums.asp.net/t/2084457.aspx?How+do+I+return+HttpStatus+codes+in+ASP+NET+Core+1+0+API+
解:
[HttpGet("{id}")]
public IActionResult Get(string id)
{
if (id == null)
{
return BadRequest();
var result = _visitorRepository.GetFromDB(id);
}
if (result != null)
return Ok(result);
else
return NotFound();
}