使用ASP.NET Web Api構建基於REST風格的服務實戰系列教程
最近發現web api很火,園內也有各種大神已經在研究,本人在asp.net官網上看到一個系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tutorial-building-asp-net-web-api-restful-service/。於是打算跟著學一下,把學習過程記錄在部落格園的同時也分享給大家。
每一篇結束後我都會把程式碼共享
由於我也是剛開始入門技術能力有限,有問題大家一起討論下吧
系列導航
一.使用Entity Framework Code First構建資料庫模型(一)http://www.cnblogs.com/fzrain/p/3491804.html
二.使用Repository模式構建資料庫訪問層(二)http://www.cnblogs.com/fzrain/p/3503952.html
三.ASP.NET Web Api入門(三)http://www.cnblogs.com/fzrain/p/3510035.html
四.實現模型工廠,依賴注入以及配置格式(四)http://www.cnblogs.com/fzrain/p/3520442.html
五.在Web Api中實現HTTP的PUT,POST,GET和DELETE方法(五)
六.實現資源間的聯絡(六)
七.實現資源的分頁(七)
八.Web Api中的安全問題(八)
九.版本變化的前奏(九)
十.多種技術實現版本變化(十)
十一.使用ETag兌現資源(十一)
待續。。。。。。
基於REST風格服務的簡介
REST表示表述性狀態轉移,它代表的是執行在HTTP上的一個簡單的無狀態的架構,每一個唯一URL代表一個資源。在建立RESTful服務時,應遵循四個基本的設計原則:
1.使用HTTP方法(動詞),使用統一的方式來獲取資源(互動的統一介面),即檢索資源使用GET,建立資源使用POST, 更新資源使用PUT / PATCH,刪除資源使用DELETE。
2.與資源的互動是無狀態的, 因此由客戶端發起的每個請求應當包括HTTP請求的所有引數,上下文資訊和所需伺服器返回資料資料型別等。
3.資源標識應通過URI來定義,簡單來說應該是隻使用URI來完成伺服器與客戶端和資源之間的互動。這些URI可以看作一個RESTful服務提供的介面。
4.支援JSON或/和XML等多種格式作為資料傳輸格式。
關於RESTful服務的更多資訊,你可以參考:http://www.cnblogs.com/light169/archive/2007/12/31/1021814.html
ASP.NET Web Api簡介
ASP.NET WEb Api首次出現是在ASP.NET MVC4的時候,到目前為止已經有一年半的歷史了(對我來說還是新知識o(╯□╰)o)。它用於建立一個HTTP服務可以被各種客戶端(例如:瀏覽器,智慧手機終端,桌面客戶端等)來呼叫的框架。它並不是ASP.NET MVC框架的一部分,它作為ASP.NET平臺的一部分可以用於MVC,Web Form或者是作為一個獨立的服務存在。
時至今日,隨著智慧手機的飛速發展和普及,單頁的應用程式猛增的趨勢。使用一個輕量級的Web Api來把你的服務暴露給客戶端就顯得極其重要。ASP.NET Web Api 將使用很多HTTP的特徵(URIs,請求/相應的處理模型,標題部分,版本控制以及各種傳輸資料的格式)帶你一起走進基於REST風格服務的精彩世界。
本次系列簡介
我們秉持簡單,易於理解的原則,同時覆蓋了ASP.NET Web Api很多不同的特性來構建我們的專案:
我們將建立一個培訓系統,這個系統對外提供一些簡單的API,該API允許學生報名參加不同的課程,讓老師檢視登記在每個課程的學生,在課程和學生之間實現CRUD以及更多的操作。在下一章我會把具體的用到資料庫模型展示給大家。
本次系列將會涉及一下的一些知識:
1.採用不同的路由配置,控制器,資源間的關聯,格式的響應,和過濾器
2.使用NInject實現依賴注入
3.應用不同的格式響應分頁結果
4.在多個資源實現複雜的CRUD操作
5.使用SSL確保安全性
6.使用不同的技術實現API的版本(URL的版本 :查詢字串,版本頭部,接受頭部)
7.實現資源利用
相關文章
- 使用ASP.NET web API建立REST服務(二)ASP.NETWebAPIREST
- 從零開始學typescript構建一個rest風格web服務TypeScriptRESTWeb
- 關於構建REST風格的SOE的策略REST
- 構建Web API服務WebAPI
- 使用SpringBoot構建REST服務-什麼是REST服務Spring BootREST
- RESTful API開發實戰 使用REST JSON XML和JAX-RS構建微服務 大資料和Web服務應用RESTAPIJSONXML微服務大資料Web
- 構建基於Spring4的Rest APISpringRESTAPI
- 使用ASP.NET Web API構建RESTful APIASP.NETWebAPIREST
- 使用JBang構建Spring Boot Rest API教程Spring BootRESTAPI
- 實踐基於REST風格的Webservice(PHP,C#)RESTWebPHPC#
- rest-api設計風格RESTAPI
- ASP.NET Web API與Rest web api(一)ASP.NETWebAPIREST
- 如何使用dotnet core 編寫REST風格APIRESTAPI
- REST架構風格的架構元素REST架構
- 基於REST與Web架構的構想RESTWeb架構
- REST架構風格的由來REST架構
- 構建基於RocketMQ的分散式事務服務MQ分散式
- Flask 系列 - 基於 Flask 提供 RESTful Web 服務FlaskRESTWeb
- 基於libcurl實現REST風格http/https的get和postRESTHTTP
- Restlet - REST架構風格的介紹REST架構
- 在 ASP.NET Core Web API中使用 Polly 構建彈性容錯的微服務ASP.NETWebAPI微服務
- 【web服務】耗時任務基於API與worker模式WebAPI模式
- Web Api 基於Zookeeper的服務註冊與發現WebAPI
- 理解本真的REST架構風格REST架構
- 雲原生系列6 基於springcloud架構風格的本地debug實現SpringGCCloud架構
- 使用API閘道器構建移動端友好的API服務API
- 基於MySql和Sails.js的RESTful風格的api實現MySqlAIJSRESTAPI
- 使用Swashbuckle構建RESTful風格文件REST
- SpringMVC+Json構建基於Restful風格的應用SpringMVCJSONREST
- 風控核心子域——名單服務構建及挑戰
- React 服務端渲染框架 Next.js 基於 Gank api 實戰React服務端框架JSAPI
- [譯] 使用 Go 和 AWS Lambda 構建無服務 APIGoAPI
- ASP.NET Web API 2系列(四):基於JWT的token身份認證方案ASP.NETWebAPIJWT
- Elasticsearch 入門實戰(8)--REST API 使用二(Search API)ElasticsearchRESTAPI
- 基於PaddlePaddle的詞向量實戰 | 深度學習基礎任務教程系列深度學習
- 工商銀行基於 Dubbo 構建金融微服務架構的實踐-服務發現篇微服務架構
- 微服務架構專案實戰:Spring Boot 如何建立簡單的 REST 服務微服務架構Spring BootREST
- 使用Spring Boot和GraphQL構建靈活的API服務Spring BootAPI