Asp.Net Core API 中的控制器返回类型

 [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 转换为访问者,反之亦然。


杨魅力
浏览 238回答 3
3回答

温温酱

您可以按照以下说明更正您的两个功能。如果您的第一个功能:[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();

繁花不似锦

解决方案:[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();}

富国沪深

return new HttpStatusCodeResult(HttpStatusCode.OK);  // OK = 200https://forums.asp.net/t/2084457.aspx?How+do+I+return+HttpStatus+codes+in+ASP+NET+Core+1+0+API+
打开App,查看更多内容
随时随地看视频慕课网APP