考慮以下幾點:是否有與網頁API CreateResponse <Content>()和CreateResponse()有什麼區別?
[HttpGet]
[ActionName("GetContent")]
public HttpResponseMessage GetContent(int id)
{
Content content = _uow.Contents.GetById(id);
if (content == null)
{
var message = string.Format("Content with id = {0} not found", id);
return Request.CreateErrorResponse(HttpStatusCode.NotFound, message);
}
else
{
return Request.CreateResponse(HttpStatusCode.OK, content);
}
}
和:
[HttpGet]
[ActionName("GetContent")]
public HttpResponseMessage GetContent(int id)
{
try
{
Content content = _uow.Contents.GetById(id);
if (content == null)
{
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
}
return Request.CreateResponse<Content>(HttpStatusCode.OK, content);
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
}
}
我已經看到了兩個編碼風格。一個使用異常,另一個不使用。一個使用CreateResponse和另一個CreateResponse()。有人能說出使用這些的優點/缺點嗎?就我所見,第二種方法似乎看起來更加完整,但是真的需要使用try/catch來完成這樣簡單的事情嗎?