這篇文章主要介紹“l(fā)aravel中的dingo有什么作用”,在日常操作中,相信很多人在laravel中的dingo有什么作用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”laravel中的dingo有什么作用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供海西網(wǎng)站建設(shè)、海西做網(wǎng)站、海西網(wǎng)站設(shè)計、海西網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、海西企業(yè)網(wǎng)站模板建站服務(wù),10余年海西做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
在laravel中,dingo是針對laravel、lumen框架的api開發(fā)工具包;主要有路由版本管理、“Http Exception”異常處理和“Response Transform”轉(zhuǎn)化響應格式三個功能。
本文操作環(huán)境:Windows10系統(tǒng)、Laravel6版、Dell G3電腦。
dingo是針對laravel、lumen框架的api開發(fā)工具包。
粗看文檔目錄,基于api規(guī)范,它圍繞了三個主要功能:
路由版本管理
Http Exception 異常處理
Response Transform 轉(zhuǎn)化響應格式
dingoapi是一個laravel的開源插件,可以在github上搜索到,現(xiàn)在在做一個項目,項目中總是會有后端跟前端的json數(shù)據(jù)交互,而這個dingoapi為json交互提供了很大的便利。
路由版本控制
一、相關(guān)配置
1聲明api服務(wù)
api規(guī)范要求,接口開發(fā)要么帶api前綴(http://XXX.com/api/xxx),要么是子域名(http://api.XXX.com/xxx),通過這樣的標識,代表請求的是api接口服務(wù)。
所以,API_PREFIX=api和API_DOMAIN=api.myapp.com須設(shè)置其中一個。
.env可能需要配置的選項
當然它的作用并非只是個標識,我們知道dingo的路由與laravel的路由是共存的,dingo便是通過這個特征來判斷的。
2版本控制
dingo提供了自己的路由服務(wù),如果http://XXX.com/api/xxx或http://api.XXX.com/xxx訪問,它則認為是api請求,dingo路由服務(wù)Dingo\Api\Routing\Router會接管laravel自帶的路由服務(wù)Illuminate\Routing\Router(至于是如何接管的,之后再說),它同樣有g(shù)et(),post(),match(),group()…方法,相當于另一套路由體系。
laravel區(qū)分版本的話,可能需要帶上一個v1前綴,例如http://XXX.com/api/v1或者http://XXX.com/api/v2。而dingo是通過 header頭Accept處理的。它的格式是Accept: application/vnd.YOUR_SUBTYPE.v1+json。意味著你需要發(fā)送一個accept的請求頭才能訪問。
配置文件中,默認這種模式是不強制的,API_STRICT=false,但只能訪問配置文件中默認的版本,'version' => env('API_VERSION', 'v1'),。
如果設(shè)置為true,即開啟嚴格模式,則必須發(fā)送accept頭,不能通過瀏覽器直接訪問你的 API。
.env可能需要配置的選項
API_STRICT=true //開啟嚴格模式必須不論v1,v2都須帶上accept頭信息
API_VERSION=v1 //在沒有聲明版本號時的默認版本號
若開啟嚴格模式
關(guān)于header頭的accept屬性幾個選項:
Accept: application/vnd.YOUR_SUBTYPE.v1+json
API_STANDARDS_TREE=x,prs,vnd Standards Tree 標準樹
API_SUBTYPE=myapp 子類型:程序或項目的短名稱
v1:版本號
json:返回的格式,也可以為jsonp
.env可能需要配置的選項
API_STANDARDS_TREE=prs
API_SUBTYPE=lara
API_DEFAULT_FORMAT=json //默認
到此,關(guān)于“l(fā)aravel中的dingo有什么作用”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享名稱:laravel中的dingo有什么作用
URL地址:http://aaarwkj.com/article18/iihidp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、App開發(fā)、企業(yè)建站、品牌網(wǎng)站建設(shè)、虛擬主機、面包屑導航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)