亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

C#
楊魅力 2022-06-18 17:25:00
 [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 轉換為訪問者,反之亦然。
查看完整描述

3 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

您可以按照以下說明更正您的兩個功能。


如果您的第一個功能:


[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();


查看完整回答
反對 回復 2022-06-18
?
繁花不似錦

TA貢獻1851條經驗 獲得超4個贊

解決方案:


[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();

}


查看完整回答
反對 回復 2022-06-18
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

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+


查看完整回答
反對 回復 2022-06-18
  • 3 回答
  • 0 關注
  • 217 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號