最近發(fā)現(xiàn)web api很火,園內(nèi)也有各種大神已經(jīng)在研究,本人在asp.net官網(wǎng)上看到一個(gè)系列教程,原文地址: http://bitoftech.net/2013/11/25/detailed-tutorial-building-asp-net-web-api-restful-service/ 。于是打算跟著學(xué)一下,把學(xué)習(xí)過程記錄在博客園的同時(shí)也分享給大家。
每一篇結(jié)束后我都會(huì)把代碼共享
由于我也是剛開始入門技術(shù)能力有限,有問題大家一起討論下吧
系列導(dǎo)航
一.使用Entity Framework Code First構(gòu)建數(shù)據(jù)庫(kù)模型(一) http://www.cnblogs.com/fzrain/p/3491804.html
二.使用Repository模式構(gòu)建數(shù)據(jù)庫(kù)訪問層(二) http://www.cnblogs.com/fzrain/p/3503952.html
三.ASP.NET Web Api入門(三) http://www.cnblogs.com/fzrain/p/3510035.html
四.實(shí)現(xiàn)模型工廠,依賴注入以及配置格式(四) http://www.cnblogs.com/fzrain/p/3520442.html
五.在Web Api中實(shí)現(xiàn)HTTP的PUT,POST,GET和DELETE方法(五)
六.實(shí)現(xiàn)資源間的聯(lián)系(六)
七.實(shí)現(xiàn)資源的分頁(yè)(七)
八.Web Api中的安全問題(八)
九.版本變化的前奏(九)
十.多種技術(shù)實(shí)現(xiàn)版本變化(十)
十一.使用ETag兌現(xiàn)資源(十一)
待續(xù)。。。。。。
基于REST風(fēng)格服務(wù)的簡(jiǎn)介
REST表示表述性狀態(tài)轉(zhuǎn)移,它代表的是運(yùn)行在HTTP上的一個(gè)簡(jiǎn)單的無狀態(tài)的架構(gòu),每一個(gè)唯一URL代表一個(gè)資源。在創(chuàng)建RESTful服務(wù)時(shí),應(yīng)遵循四個(gè)基本的設(shè)計(jì)原則:
1.使用HTTP方法(動(dòng)詞),使用統(tǒng)一的方式來獲取資源(交互的統(tǒng)一接口),即檢索資源使用GET,創(chuàng)建資源使用POST, 更新資源使用PUT / PATCH,刪除資源使用DELETE。
2.與資源的交互是無狀態(tài)的, 因此由客戶端發(fā)起的每個(gè)請(qǐng)求應(yīng)當(dāng)包括HTTP請(qǐng)求的所有參數(shù),上下文信息和所需服務(wù)器返回?cái)?shù)據(jù)數(shù)據(jù)類型等。
3.資源標(biāo)識(shí)應(yīng)通過URI來定義,簡(jiǎn)單來說應(yīng)該是只使用URI來完成服務(wù)器與客戶端和資源之間的交互。這些URI可以看作一個(gè)RESTful服務(wù)提供的接口。
4.支持JSON或/和XML等多種格式作為數(shù)據(jù)傳輸格式。
關(guān)于RESTful服務(wù)的更多信息,你可以參考: http://www.cnblogs.com/light169/archive/2007/12/31/1021814.html
ASP.NET Web Api簡(jiǎn)介
ASP.NET WEb Api首次出現(xiàn)是在ASP.NET MVC4的時(shí)候,到目前為止已經(jīng)有一年半的歷史了(對(duì)我來說還是新知識(shí)o(╯□╰)o)。它用于建立一個(gè)HTTP服務(wù)可以被各種客戶端(例如:瀏覽器,智能手機(jī)終端,桌面客戶端等)來調(diào)用的框架。它并不是ASP.NET MVC框架的一部分,它作為ASP.NET平臺(tái)的一部分可以用于MVC,Web Form或者是作為一個(gè)獨(dú)立的服務(wù)存在。
時(shí)至今日,隨著智能手機(jī)的飛速發(fā)展和普及,單頁(yè)的應(yīng)用程序猛增的趨勢(shì)。使用一個(gè)輕量級(jí)的Web Api來把你的服務(wù)暴露給客戶端就顯得極其重要。ASP.NET Web Api 將使用很多HTTP的特征(URIs,請(qǐng)求/相應(yīng)的處理模型,標(biāo)題部分,版本控制以及各種傳輸數(shù)據(jù)的格式)帶你一起走進(jìn)基于REST風(fēng)格服務(wù)的精彩世界。
本次系列簡(jiǎn)介
我們秉持簡(jiǎn)單,易于理解的原則,同時(shí)覆蓋了ASP.NET Web Api很多不同的特性來構(gòu)建我們的項(xiàng)目:
我們將創(chuàng)建一個(gè)培訓(xùn)系統(tǒng),這個(gè)系統(tǒng)對(duì)外提供一些簡(jiǎn)單的API,該API允許學(xué)生報(bào)名參加不同的課程,讓老師查看登記在每個(gè)課程的學(xué)生,在課程和學(xué)生之間實(shí)現(xiàn)CRUD以及更多的操作。在下一章我會(huì)把具體的用到數(shù)據(jù)庫(kù)模型展示給大家。
本次系列將會(huì)涉及一下的一些知識(shí):
1.采用不同的路由配置,控制器,資源間的關(guān)聯(lián),格式的響應(yīng),和過濾器
2.使用NInject實(shí)現(xiàn)依賴注入
3.應(yīng)用不同的格式響應(yīng)分頁(yè)結(jié)果
4.在多個(gè)資源實(shí)現(xiàn)復(fù)雜的CRUD操作
5.使用SSL確保安全性
6.使用不同的技術(shù)實(shí)現(xiàn)API的版本(URL的版本 :查詢字符串,版本頭部,接受頭部)
7.實(shí)現(xiàn)資源利用
備注:在本次系列中,我們不構(gòu)建客戶端應(yīng)用程序,我們將使用 Fiddler or Postman 來發(fā)送HTTP請(qǐng)求
使用ASP.NET Web Api構(gòu)建基于REST風(fēng)格的服務(wù)實(shí)戰(zhàn)系列教程
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
