2014-09-24 32 views
0

如何從400個錯誤請求狀態代碼返回Web Api 2中的錯誤消息列表?看下面的例子。通常我使用BadRequest方法返回400狀態碼,但它沒有任何超載的地方接受字符串集合。它接受ModelStateDisctionary時有一個超載。這是否意味着我將不得不從錯誤消息列表中創建ModelStateDictionary?返回錯誤消息列表,在Web API中有400個錯誤請求響應2

[Route("")] 
[HttpPost] 
public IHttpActionResult Add(Object data) 
{ 
    var valid = _serviceLayer.Validate(data); 
    if(!valid) 
    { 
     var errors = valid.Errors; 
     // errors is an array of string 
     // How do I return errors with Bad Request status code here? 
    } 
    var updatedObject = _serviceLayer.Save(data); 
    return Ok(updatedObject); 
} 
+0

如果POST成功,您返回的正常對象類型是什麼? – 2014-09-25 12:40:46

+0

return Ok(UpdatedObject); – Hitesh 2014-09-25 22:31:27

+2

您將需要實現自己的實現IHttpActionResult的類:http://stackoverflow.com/questions/20139621/how-do-i-return-notfound-ihttpactionresult-with-an-error-message-or-exception – 2014-09-26 20:25:44

回答

1

根據Mike的評論,我將添加一個實現IHttpActionResult的新類,以返回包含400錯誤請求的錯誤消息列表。謝謝馬克