[Web API] 如何讓 Web API 統一回傳格式以及例外處理


當我們在開發 Web API 時,一般的情況下每個 API 回傳的資料型態或格式都不盡相同,如果你的專案從頭到尾都是由你一個人獨力完成,那也許還可以說聲「阿密陀佛」,但如果是有其他人需要和你共享你的 Api ,而回傳的資料格式又不一樣,相信是會增加使用者的困擾,也大大增加了程式的複雜度與維護上的難度。所以本篇也紀錄一下自己在實作上的經驗,一方面留個紀錄也希望幫助更多人,廢物不多說我們開始吧!

...繼續閱讀 »

[WebAPI] 如何在 ASP.NET MVC 專案加上 Web API 說明文件


我們使用 Web API 來開發專案的需求越來越平凡,而相對的 API 的說明文件也就顯得格外重要,才能讓開發 Service 的人員以及 APP 的開發人員能有一個溝通的地方,微軟在 Visual Studio 2012 Update 2 之後,當建立 ASP.NET MVC 專案選擇 Web API 時也將說明文件內建在範本中,而這篇將教你如何在非內建的情況下,手動加入 Web API 的說明文件。

...繼續閱讀 »

[ASP.NET][Web API] 解決 ASP.NET Web API Json 物件循環參考錯誤


一般我們在開法 ASP.NET Web API 時,如果是使用 Entity Framework 技術來操作資料庫的話,當兩個 Entity 之間包含導覽屬性(Navigation Property)時,而當我們輸出的格式為 JSON 物件時,會出現一個例外,錯誤訊息為:「'ObjectContent`1' 類型無法序列化內容類型 'application/json; charset=utf-8' 的回應主體。」,而小弟參考了 Will 保哥以及 Bruce 兩位前輩的文章後,整理出兩種小弟覺得比較可行的替代與解決方案。

...繼續閱讀 »

[Web API] 認識 ASP.NET MVC Web API (1) - 新手入門篇


ASP.NET MVC 4 新增了一項新功能,就是 Web API,實作了 REST ,更精確的說是 ASP.NET MVC 本身也就是實作了 REST ;而 REST 屬於一種設計風格,REST 的定義有一件非常重要的概念是:如何正確使用網頁標準,也就是正確的利用 Post(新增資料)、 Get(取得資料)、Put(更新資料)、Delete(刪除資料) 來進行 CRUD,如果開發人員的應用程式符合 REST 原則,則可它的 服務為 "RESTful Web Service" 也稱 RESRful Web API",而在現今手持裝置普遍的時代,輕量化的 Web API 取代了 Web Service。

...繼續閱讀 »