webapi和mvc的區(qū)別 webapi和mvc的區(qū)別?
webapi和mvc的區(qū)別?在新出的MVC中,增加了WebAPI,用于提供REST風(fēng)格的WebService,新生成的WebAPI項(xiàng)目和典型的MVC項(xiàng)目一樣,包含主要的Models、Views、Con
webapi和mvc的區(qū)別?
在新出的MVC中,增加了WebAPI,用于提供REST風(fēng)格的WebService,新生成的WebAPI項(xiàng)目和典型的MVC項(xiàng)目一樣,包含主要的Models、Views、Controllers等文件夾和Global.asax文件。Views對(duì)于WebAPI來(lái)說(shuō)沒(méi)有太大的用途,Models中的Model主要用于保存Service和Client交互的對(duì)象,這些對(duì)象默認(rèn)情況下會(huì)被轉(zhuǎn)換為Json格式的數(shù)據(jù)迚行傳輸,Controllers中的Controller對(duì)應(yīng)于WebService來(lái)說(shuō)是一個(gè)Resource,用于提供服務(wù)。和普通的MVC一樣,Global.asax用于配置路由規(guī)則。對(duì)于WebAPI來(lái)說(shuō)它最初被設(shè)計(jì)為和WCF一樣的客戶端、服務(wù)端兩套結(jié)構(gòu)我們到現(xiàn)在乊所以還沒(méi)有提到客戶端是因?yàn)槲覀兊恼?qǐng)求別的方式來(lái)封裝成HTTP請(qǐng)求戒接收HTTP相應(yīng)的比如AJAX和Form表單提交。
webservice接口和restful接口哪個(gè)更好?
REST是一種架構(gòu)風(fēng)格,其核心是面向資源,遵循CRUD原則,這個(gè)原則告訴我們對(duì)于資源只需要4種行為,分別是:創(chuàng)建,獲取,更新和刪除,并且這些資源執(zhí)行的操作時(shí)通過(guò)HTTP協(xié)議規(guī)定的,而WebService底層是SOAP協(xié)議,核心是面向活動(dòng),有嚴(yán)格的規(guī)范和標(biāo)準(zhǔn),包括安全,事務(wù)等方面。
那么我們是使用RESTful還是WebService就需要考慮資源本身的 ,看資源本身是那種簡(jiǎn)單的類似增刪改查的業(yè)務(wù)操作,還是那種比較復(fù)雜,如轉(zhuǎn)賬,事務(wù)處理等。其次是看是否有嚴(yán)格的規(guī)范和標(biāo)準(zhǔn)的,而且有多個(gè)業(yè)務(wù)系統(tǒng)集成和開(kāi)發(fā)的時(shí)候,我們使用SOAP協(xié)議就比較優(yōu)勢(shì),如果是簡(jiǎn)單的數(shù)據(jù)操作,無(wú)事務(wù)處理,開(kāi)發(fā)和調(diào)用比較簡(jiǎn)單的話使用REST架構(gòu)風(fēng)格比較有優(yōu)勢(shì),較為復(fù)雜的面向活動(dòng)的服務(wù),我們使用REST意義不大。
webAPI怎樣理解?
一、為什么是Web API?
Web API是網(wǎng)絡(luò)應(yīng)用程序接口。包含了廣泛的功能,網(wǎng)絡(luò)應(yīng)用通過(guò)API接口,可以實(shí)現(xiàn)存儲(chǔ)服務(wù)、消息服務(wù)、計(jì)算服務(wù)等能力,利用這些能力可以進(jìn)行開(kāi)發(fā)出強(qiáng)大功能的web應(yīng)用。
二、web平臺(tái)歸為7個(gè)基本設(shè)施,其間的線索是這些產(chǎn)品都提供了API,分別是:
1)存儲(chǔ)服務(wù):存儲(chǔ)服務(wù)關(guān)注抽象化和虛擬化存儲(chǔ)。
2)openemy服務(wù):它提供了類似于文件系統(tǒng)接口的api,但增加了給文件標(biāo)簽的能力。
3)消息服務(wù):消息服務(wù)在概念上類似于傳統(tǒng)意義上的中間件。
4)計(jì)算服務(wù):目前還沒(méi)有一個(gè)一般的可以通過(guò)api訪問(wèn)的web計(jì)算服務(wù)黑盒,但有不少技術(shù)指向這個(gè)方向。
5)信息服務(wù):信息服務(wù)提供海量特定的信息。
6)搜索服務(wù):因?yàn)樗阉髟趙eb領(lǐng)域的基礎(chǔ)和統(tǒng)治地位,搜索服務(wù)構(gòu)成了新的web基礎(chǔ)架構(gòu)的關(guān)鍵部分。
7)web2.0服務(wù):最后一類寬泛的叫它們web2.0服務(wù)。