一、王小二和他領(lǐng)導(dǎo)的第一次故事
創(chuàng)新互聯(lián)建站是少有的網(wǎng)站制作、做網(wǎng)站、營(yíng)銷型企業(yè)網(wǎng)站、成都微信小程序、手機(jī)APP,開發(fā)、制作、設(shè)計(jì)、友情鏈接、推廣優(yōu)化一站式服務(wù)網(wǎng)絡(luò)公司,自2013年起,堅(jiān)持透明化,價(jià)格低,無(wú)套路經(jīng)營(yíng)理念。讓網(wǎng)頁(yè)驚喜每一位訪客多年來(lái)深受用戶好評(píng)有一天王小二和往常一下去上早班,剛吃完早餐剛一打開電腦沒(méi)一會(huì)兒。王小二的領(lǐng)導(dǎo)宋大寶走到他的面前,我們現(xiàn)在的系統(tǒng)需要提供服務(wù)給其他內(nèi)部業(yè)務(wù)系統(tǒng),我看你平時(shí)喜歡研究一些技術(shù),所以這次這個(gè)任務(wù)有你來(lái)負(fù)責(zé)開發(fā),務(wù)必保證我們項(xiàng)目組提供的服務(wù)好看、好用,最后順利的完成工作并上線運(yùn)行。王小二頓到感覺無(wú)與倫比的器重和自豪感,于是晚上回家擼起鍵盤就是一頓baidu+google搜索,最后驚奇地發(fā)現(xiàn)了一本叫《ASP.NET WebAPI構(gòu)建API接口服務(wù)實(shí)戰(zhàn)演練》葵花寶典。于是乎王小二開啟了習(xí)武之路。
1.1、本葵花寶典手冊(cè)適合學(xué)習(xí)人群如下:
1)、完全對(duì)ASP.NET WebAPI零基礎(chǔ)的童鞋們。
2)、進(jìn)一步想學(xué)習(xí)和了解ASP.NET WebAPI技術(shù)。
3)、工作中如何快速通過(guò)ASP.NET WebAPI構(gòu)建API接口服務(wù)。
4)、阿笨手把手的教會(huì)你如何寫一手漂亮的WebAPI接口文檔。
1.2、本葵花寶典手冊(cè)課程包含知識(shí)點(diǎn)如下:
1)、與Web API的第一次親密接觸,"奇葩"的默認(rèn)路由配置?
2)、 WebApi輸出格式有點(diǎn)"丑",選擇XML和JSON哪一個(gè)格式??
3)、Web API?"奇葩"的參數(shù)傳遞,看著一招就夠了。
4)、ASP.NET WebApi標(biāo)準(zhǔn)格式化統(tǒng)一輸出響應(yīng)報(bào)文數(shù)據(jù) 。
5)、ASP.NET WebApi標(biāo)準(zhǔn)格式化統(tǒng)一輸出異常報(bào)文數(shù)據(jù) 。
6)、ASP.NET WebApi降龍十八掌之美化JSON時(shí)間類型T問(wèn)題和CORS跨域訪問(wèn) 。
7)、如何用markdown編寫一手漂亮的接口文檔。
1.3、一言以蔽之修煉完成本葵花寶典手冊(cè)后達(dá)到的境界?
我們?nèi)绾蝺?yōu)雅使用ASP.NET WebAPI構(gòu)建API接口服務(wù)。
如果您對(duì)本次分享課程感興趣的話,那么請(qǐng)跟蹤阿笨一起學(xué)習(xí)吧。廢話不多說(shuō),直接上干貨,我們不生產(chǎn)干貨,我們只是干貨的搬運(yùn)工。
2.1、與Web API的第一次親密接觸,"奇葩"的默認(rèn)路由配置
王小二剛興致勃勃打開葵花寶典手冊(cè),一上來(lái)就遇到404訪問(wèn)不了情況。聽說(shuō)阿笨有解決辦法,我去問(wèn)問(wèn)題他吧!
ASP.NET Web API路由是整個(gè)API的入口。我們?cè)L問(wèn)某個(gè)資源就是通過(guò)路由映射找到對(duì)應(yīng)資源的URL。通過(guò)URL來(lái)獲取資源的。
對(duì)于ASP.NET Web API內(nèi)部實(shí)現(xiàn)來(lái)講,我們的請(qǐng)求最終將定位到一個(gè)具體的Action上。所以說(shuō),ASP.NET Web API路由就是把客戶端請(qǐng)求映射到對(duì)應(yīng)的Action上的過(guò)程。
2.2、 WebApi輸出格式有點(diǎn)"丑",選擇XML和JSON哪一個(gè)格式?
王小二好不容易把404的問(wèn)題解決了,卻遇到了XML和JSON生成出來(lái)的有點(diǎn)“丑”的樣子,簡(jiǎn)直就是四不像?。÷犝f(shuō)阿笨有解決辦法,我去問(wèn)問(wèn)題他吧!?
2.3、Web API?"奇葩"的參數(shù)傳遞,看著一招就夠了
王小二好不容易把輸出格式四不像問(wèn)題解決了,但是在使用POST多傳遞幾個(gè)參數(shù)的情況下,就要注意[FromUri] ,[FromBody]帶來(lái)的限制 ,太復(fù)雜了,能不能簡(jiǎn)單一點(diǎn)。只好問(wèn)阿笨該如何解決了!聽說(shuō)阿笨有解決辦法,我去問(wèn)問(wèn)題他吧!
ASP.NET Web API參數(shù)傳遞把握一個(gè)思想,不管多么復(fù)雜的參數(shù),都采用扁平化來(lái)設(shè)計(jì)。
2.4、ASP.NET WebApi標(biāo)準(zhǔn)格式化統(tǒng)一輸出響應(yīng)報(bào)文數(shù)據(jù)
王小二總算咬牙堅(jiān)持邁過(guò)了上面的那么多“坑”,頓時(shí)興奮不已。剛準(zhǔn)備關(guān)機(jī)睡覺的時(shí)候,總感覺心里有事情沒(méi)解決,頓時(shí)坐了起,調(diào)用方怎么知道我給的接口數(shù)據(jù)結(jié)果就執(zhí)行成功和失敗了啊。不可能用空字符串來(lái)判斷吧。聽說(shuō)阿笨有解決辦法,我去問(wèn)問(wèn)題他吧!? ??
2.5、ASP.NET WebApi標(biāo)準(zhǔn)格式化統(tǒng)一輸出異常報(bào)文數(shù)據(jù)
王小二總算解決了標(biāo)準(zhǔn)格式化統(tǒng)一輸出響應(yīng)報(bào)文數(shù)據(jù),正興高采烈的調(diào)試第一個(gè)接口的時(shí)候,卻出現(xiàn)了Exception這個(gè)程序員惡魔,只好無(wú)奈的看著屏幕前一堆紅色的錯(cuò)誤輸出頁(yè)面。正在焦頭爛額的時(shí)候,想到了阿笨。聽說(shuō)阿笨有解決辦法,我去問(wèn)問(wèn)題他吧!? ??
2.6、ASP.NET WebApi降龍十八掌之美化JSON時(shí)間類型T問(wèn)題和CORS跨域訪問(wèn)
1)、解決json小寫問(wèn)題。
2)、解決json格式化縮進(jìn)問(wèn)題。
3)、解決json時(shí)間帶T的問(wèn)題。
4)、解決json序列化時(shí)的循環(huán)引用問(wèn)題。
5)、解決支持啟用跨域訪問(wèn)。
2.7、如何用markdown編寫一手漂亮的接口文檔
王小二現(xiàn)在已經(jīng)可以擼一手漂亮的接口了,俗話說(shuō):人靠衣裝馬靠鞍!我們開發(fā)的接口是對(duì)外給調(diào)用方使用的,那么我們?nèi)绾尉帉懸皇制恋慕涌谖臋n,讓調(diào)用方一看眼前一亮,賞心悅目的感覺咧。
API?Manager是一個(gè)在線API文檔系統(tǒng);其致力于快速解決團(tuán)隊(duì)內(nèi)部接口文檔的編寫、維護(hù)、存檔,和減少團(tuán)隊(duì)協(xié)作開發(fā)的溝通成本。
3.1、王小二和他領(lǐng)導(dǎo)的第二次故事
上一次宋大寶交給王小二的任務(wù)完成的非常滿意,還沒(méi)來(lái)得及當(dāng)面表?yè)P(yáng)王小二這個(gè)小伙子,卻語(yǔ)重心長(zhǎng)的說(shuō)了一番話:隨著公司業(yè)務(wù)量的增長(zhǎng),我們的產(chǎn)品得到了外面商戶的一致好評(píng),為了更好的與商戶進(jìn)行業(yè)務(wù)往來(lái),因此我們公司準(zhǔn)備也要弄自己的服務(wù)平臺(tái)。我昨晚思考了一下給你簡(jiǎn)單的說(shuō)了一下大概對(duì)服務(wù)平臺(tái)的要求:不管客戶端是使用PHP、JAVA、C#、移動(dòng)設(shè)備等等語(yǔ)言和設(shè)備都能與我們的服務(wù)平臺(tái)進(jìn)行對(duì)接,并且維護(hù)和對(duì)接成本很低;將來(lái)我們需要針對(duì)不同的商戶進(jìn)行流量管控,對(duì)了最好能過(guò)部署在Linux操作系統(tǒng)上,必須將來(lái)考慮移植的工作量。王小二我覺得你的能力很不錯(cuò),小伙子平時(shí)交付給你的事情都能夠讓我滿意,所以這個(gè)服務(wù)平臺(tái)就有你來(lái)主導(dǎo)并開發(fā)了,務(wù)必按時(shí)保質(zhì)保量完成工作。
王小二倍再一次的感受到了內(nèi)心的欣慰之情,但是這一次卻表情凝重,下班回到家仔細(xì)冷靜思考了一宿,于是第二個(gè)早上班的時(shí)候,?總結(jié)了以下幾點(diǎn)關(guān)于服務(wù)平臺(tái)的設(shè)計(jì)并匯報(bào)了宋大寶。
1?)、由于數(shù)據(jù)不能泄密和篡改,需要保證對(duì)外的服務(wù)接口可靠性和安全性。
2)、我們提供的服務(wù)對(duì)開發(fā)語(yǔ)言的兼容性強(qiáng)、可擴(kuò)展性一定要好、最好將來(lái)能夠跨平臺(tái)。
從上面的故事,我們可以看的出來(lái)宋大寶領(lǐng)導(dǎo)對(duì)王小二的器重以及對(duì)服務(wù)平臺(tái)的重視! 預(yù)知后事如何,請(qǐng)聽下回分解!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。