每次我測驗目標動作時:GetAllCommands(),我都會遇到這個錯誤!
這是我的代碼:
[HttpGet]
public ActionResult<IEnumerable<CommandReadDto>> GetAllCommands()
{
var commandItems = _repository.GetAllCommands();
return _mapper.Map<IEnumerable<CommandReadDto>>(commandItems);//error-pane code
}
但是當我按如下方式回傳結果集時,它可以正常作業:
return Ok(_mapper.Map<IEnumerable<CommandReadDto>>(commandItems));
誰能給我解釋一下?
uj5u.com熱心網友回復:
這是因為 ActionResult 型別代表各種 HTTP 狀態代碼。
你有一個ActionResult<IEnumerable<CommandReadDto>>端點回傳型別,但你試圖回傳一個IEnumerable<CommandReadDto>沒有定義代碼狀態的,所以它需要用Ok()orNotFound()方法等包裝。
如果要回傳IEnumerable<CommandReadDto>,則從回傳型別中洗掉 ActionResult 并僅保留IEnumerable<CommandReadDto>在那里,然后它將起作用并自動回傳狀態代碼 200
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/497167.html
