2017-01-04 123 views
-2

我有一個問題,什麼是最好的方式來返回webapi中的數據。 例如我們可以有2個場景。什麼是最好的方式來返回webapi中的數據

1)GetProductsById在其中我們recive一個ID並返回該ID的數據。在我們返回數據的列表

2)的GetProducts

所以GetProductsById,我們可以這樣做:

public IHttpActionResult GetProduct(int id) 
    { 
     var product = getProducts().FirstOrDefault((p) => p.Id == id); 
     if (product == null) 
     { 
      return NotFound(); 
     } 
     return Ok(product); 
    } 

並獲得名單:

public IHttpActionResult GetProduct(int id) 
    { 
     var products = getproducts(); 
     if (products == null) 
     { 
      throw new NotFoundException() 
     } 
     return Ok(product); 
    } 

我想知道在這兩種情況下處理找不到方案的最佳方法。

+2

最好的方法應該是應用程序的其他部分在遇到這種情況時已經做的任何事情。你的問題是基於觀點和題外話 – Sayse

回答

1

在這兩種情況下,我會返回錯誤消息的錯誤請求。

public IHttpActionResult GetProduct(int id){ var products = getproducts(); if (products == null) { BadRequest("Item not found.") } return Ok(product); } 
+0

在這種情況下應該是'NotFound'異常而不是'BadRequest' –

1

我會建議做會舉行一般性對象自己codemessage,並且response object這樣的:

[Serializable] 
[DataContract] 
public class ApiResponse 
{ 
    [DataMember] 
    public int code; 
    [DataMember] 
    public string message; 
    [DataMember] 
    public dynamic result; 
} 

結果持您的實際結果,其中的代碼,以及消息根據自定義您的數據驗證。

相關問題