您好,登錄后才能下訂單哦!
這篇文章主要介紹“laravel中的dingo有什么作用”,在日常操作中,相信很多人在laravel中的dingo有什么作用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”laravel中的dingo有什么作用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在laravel中,dingo是針對laravel、lumen框架的api開發工具包;主要有路由版本管理、“Http Exception”異常處理和“Response Transform”轉化響應格式三個功能。
本文操作環境:Windows10系統、Laravel6版、Dell G3電腦。
dingo是針對laravel、lumen框架的api開發工具包。
粗看文檔目錄,基于api規范,它圍繞了三個主要功能:
路由版本管理
Http Exception 異常處理
Response Transform 轉化響應格式
dingoapi是一個laravel的開源插件,可以在github上搜索到,現在在做一個項目,項目中總是會有后端跟前端的json數據交互,而這個dingoapi為json交互提供了很大的便利。
路由版本控制
一、相關配置
1聲明api服務
api規范要求,接口開發要么帶api前綴(http://XXX.com/api/xxx),要么是子域名(http://api.XXX.com/xxx),通過這樣的標識,代表請求的是api接口服務。
所以,API_PREFIX=api和API_DOMAIN=api.myapp.com須設置其中一個。
.env可能需要配置的選項
當然它的作用并非只是個標識,我們知道dingo的路由與laravel的路由是共存的,dingo便是通過這個特征來判斷的。
2版本控制
dingo提供了自己的路由服務,如果http://XXX.com/api/xxx或http://api.XXX.com/xxx訪問,它則認為是api請求,dingo路由服務Dingo\Api\Routing\Router會接管laravel自帶的路由服務Illuminate\Routing\Router(至于是如何接管的,之后再說),它同樣有get(),post(),match(),group()…方法,相當于另一套路由體系。
laravel區分版本的話,可能需要帶上一個v1前綴,例如http://XXX.com/api/v1或者http://XXX.com/api/v2。而dingo是通過 header頭Accept處理的。它的格式是Accept: application/vnd.YOUR_SUBTYPE.v1+json。意味著你需要發送一個accept的請求頭才能訪問。
配置文件中,默認這種模式是不強制的,API_STRICT=false,但只能訪問配置文件中默認的版本,'version' => env('API_VERSION', 'v1'),。
如果設置為true,即開啟嚴格模式,則必須發送accept頭,不能通過瀏覽器直接訪問你的 API。
.env可能需要配置的選項
API_STRICT=true //開啟嚴格模式必須不論v1,v2都須帶上accept頭信息
API_VERSION=v1 //在沒有聲明版本號時的默認版本號
若開啟嚴格模式
關于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 //默認
到此,關于“laravel中的dingo有什么作用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。