php dingo和jwt,dingo配合laravel、JWT使用

介紹:dingo api包是給laravel和lumen提供的Restful的工具包,它可以與jwt組件一起配合快速的完成用戶認證,同時對于數據和運行過程中所產生的異常能夠捕獲到并且可以做出對應的響應。

dingo文檔地址:https://github.com/dingo/api/wiki

dingo安裝地址:https://github.com/dingo/api/

dingo具體使用:https://github.com/dingo/api/wiki/Creating-API-Endpoints

dingo的中文文檔:https://learnku.com/docs/dingo-api/2.0.0/Making-Requests-To-Your-API/1453

第一步先安裝

composer require dingo/api:v2.2.3

10128426094dcaee8d45533501ddd97e.png

然后通過下面命令發布配置跟JWT一樣

php artisan vendor:publish --provider="Dingo\Api\Provider\LaravelServiceProvider"

ea3940a1ca9d646ef13ebf4ba757f1f0.png

這個時候就會在config下面生成一個api配置文件,

注意:當引用了dingo之后,laravel中自帶的路由api就會失效。會直接被dingo的路由服務所進行接管。(也就是說原先所定義的laravel的api服務中間件則不能夠使用,如果說需要使用就需要在重新配置)

ef8b759aa34881227ebc3a5b6865a06f.png

在接下來打開ENV文件進行配置

53d2ece1cf7a25c881c2f6dc3d0400aa.png

7b82da44e511997211312ddd7994872e.png

打開route\api.php配置路由

d542328225606b3715c160f46a3922d4.png

測試,我們的路由設置的是get方式,試著用post方式進行測試時就會使用dingo的報錯信息處理

bf360c1374708f61a46c97aebd7ab558.png

下來我們處理一下版本切換

定義好v2版本的路由

7c0b44e9f433351d73bab407c2eec235.png

然后需要在header頭里邊添加參數,這里需要注意的就是prs? blog? v2都是在env中定義的

9e21e14082a21da5cf0cb305bc49d2d8.png

使用Dingo配合JWT返回錯誤信息

59cc84faea0d94d89e5f589cfad654bf.png

a500f5048b9b0587de92d0d165a76572.png

也可以使用dingo來自定義錯誤信息,使用dingo的array方法

a7a24f6b27b9943f93612f189237ab28.png

50923e717db6e8485919f1375350b490.png

如果使用dingo的錯誤返回消息,也可以定義配置文件的返回

b5854dfe9d992ffc37410f5557b36f2e.png

到這里JWT和dingo配合laravel的操作就結束了,這里只是怎么基礎使用,后邊在項目中會在深入的使用

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454684.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454684.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454684.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

重啟開源,分享無限--微軟面試187題精選

重啟開源,分享無限--誠邀你加入微軟面試187題的解題中 前期回顧 我想,只要是稍微瀏覽過我博客的朋友都知道,本博客內總體上大致分為兩個部分的內容:1、算法(如十六個經典算法研究系列);2、面試與…

二三星縮水軟件手機版_還在抱怨三星手機不好用?用這些軟件立馬解決

S10系列上市讓三星在國內的銷量有所回暖,但是很多小伙伴拿到手機后都在吐槽三星的軟件工程師不行,比如手勢操作太難用了,不如小米人性化。其實這只是你沒找到秘訣而已,三星手機原來還可以這樣使用?三星有一個官方軟件&…

使用Settings Bundle為程序添加設置項

創建一個Demo來學習一個Setting Bundle為程序存儲設置項 Settings Bundle是在自己的程序中建立的一組文件,利用它可以告訴設備中的Settings程序我們寫的程序有哪些設置項。用戶在Settings程序中設置好相關相關選項后回到我們自己的程序,自己的程序中的對…

Netty自娛自樂之協議棧設計

---恢復內容開始--- 俺工作已經一年又6個月了,想想過的真快,每天寫業務,寫業務,寫業務......。然后就是祈禱著,這次上線不要出現線上bug。繼續這每天無聊的增刪改查,學習學習一下自己感興趣的事&#xff0c…

Linux 狀態命令之磁盤狀態 df du

df df(disk free)命令用于顯示目前在 Linux 系統上的文件系統磁盤使用情況統計。獲取硬盤被占用了多少空間,目前還剩下多少空間等信息,如果沒有文件名被指定,則所有當前被掛載的文件系統的可用空間將被顯示。 默認情…

C++包擴展_利用 MATLAB Coder 將M代碼生成C/C++代碼

利用MATLAB Coder將MATLAB代碼生成C/C代碼?mp.weixin.qq.comMATLAB Coder 可以將MATLAB代碼生成工程中常用的嵌入式或其他硬件平臺的C或者C代碼。使用者可以在MATLAB中進行驗證,然后將生成后的代碼集合到工程中。集合的方式可以是源碼,靜態庫和動態庫。…

linux 進程通信機制,linux的進程通信機制小結

linux向應用軟件提供下列進程間通信手段:####第一類通信方式:只能用于父進程與子進程之間,或者兩個兄遞進程之間。>管道Pipe>信號Signal>跟蹤Trace管道:由父進程來建立。管道兩端的進程各自都將該管道視作一個文件。一個…

看穿面試這件事兒……

報 版權聲明:原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章原始出版、作者信息和本聲明。否則將追究法律責任。本文地址: http://blog.csdn.net/jobchanceleo/archive/2007/04/17/1568254.aspx 有個朋友Min十幾年工作經驗&…

阿里云胡曉明:數據智能將為城市生活帶來真正價值

8月30日,在2017全球(上海)人工智能創新峰會-世界人工智能城市規劃大會上,阿里巴巴集團資深副總裁、阿里云總裁胡曉明作《通往智能之路》主題演講,指出數據智能將從交通、醫療、城市治理等方面影響城市生活,…

MySQL 之 information_schema

一、information_schema簡介 在MySQL中,把 information_schema 看作是一個數據庫,確切說是信息數據庫。其中保存著關于MySQL服務器所維護的所有其他數據庫的信息。如數據庫名,數據庫的表,表欄的數據類型與訪問權 限等。在INFORMA…

【iCore1S 雙核心板_FPGA】例程十二:基于單口RAM的ARM+FPGA數據存取實驗

實驗現象: 核心代碼: module single_port_ram(input CLK_12M,input WR,input RD,input CS0,inout [15:0]DB,input [24:16]A,output FPGA_LEDR,output FPGA_LEDG,output FPGA_LEDB); //----------------------------pll-------------------------------//…

curl post https_Linux命令cURL詳解,并實現文件定時上傳到ftp服務器的程序

前言前段時間群里討論,想實現某個文件定時上傳到服務器要怎么來實現。我記得之前做過 一個項目:為高通的iot模組編寫FOTA功能:實現模組可以遠程下載升級鏡像包,實現版本升級功能。并當時使用的一個超級強大的工具cURL。心血來潮&a…

linux系統頁面緩存,Linux緩存機制之頁緩存

內核采用一種通用的地址空間方案,來建立緩存數據與其來源之間的關聯。1) 內存中的頁分配到每個地址空間。這些頁的內容可以由用戶進程或內核本身使用各式各樣的方法操作。這些數據表示了緩存中的內容;2) 后備存儲器struct backing_dev_info指定了填充地…

十月百度,阿里巴巴,迅雷搜狗最新面試七十題(更新至10.17)

十月百度,阿里巴巴,迅雷搜狗最新面試十一題 引言 當即早已進入10月份,十一過后,招聘,筆試,面試,求職漸趨火熱。而在這一系列過程背后浮出的各大IT公司的筆試/面試題則蘊含著諸多思想與設計&…

python threading 結束線程

python threading 啟動的線程,并沒有提供終止線程的方法,現總結一下在網上找到的方法 1、通過threading.Thread._Thread__stop()結束線程 import time import threading def f():while 1:time.sleep(0.1)print(1)t threading.Thread(targetf) t.start…

快讀模板

快速讀入字符 inline char readc(){ static char buf[1 << 18], *fs, *ft;return (fs ft && (ft (fs buf) fread(buf, 1, 1 << 18, stdin)), fs ft) ? EOF : *fs; } 快速讀入數字 inline int readint(){register char creadc();register int res0;re…

fasttext 文本分類_4種常見的NLP實踐思路【特征提取+分類模型】

越來越多的人選擇參加算法賽事&#xff0c;為了提升項目實踐能力&#xff0c;同時也希望能拿到好的成績增加履歷的豐富度。期望如此美好&#xff0c;現實卻是&#xff1a;看完賽題&#xff0c;一點思路都木有。那么&#xff0c;當我們拿到一個算法賽題后&#xff0c;如何破題&a…

Angular4學習筆記(六)- Input和Output

概述 Angular中的輸入輸出是通過注解Input和Output來標識&#xff0c;它位于組件控制器的屬性上方。 輸入輸出針對的對象是父子組件。 演示 Input 新建項目connInComponents:ng new connInComponents.新增組件stock:ng g component stock.在stock.component.ts中新增屬性stockN…

Python 常見加密方式和實現

Python 加密與解密小結 這篇文章主要介紹了Python 加密與解密,使用base64或pycrypto模塊 前言 據記載&#xff0c;公元前400年&#xff0c;古希臘人發明了置換密碼。1881年世界上的第一個電話保密專利出現。在第二次世界大戰期間&#xff0c;德國軍方啟用“恩尼格瑪”密碼機…

jenkins日志亂碼linux,Jenkins控制臺中亂碼問題解決

由于服務器環境及應用層各版本的不同、編碼方式的不同因此會有很多種情況會出現亂碼問題。由于Jenkins中的job運行的是獨立的一個shell環境&#xff0c;許多的環境變量與服務器中是不一樣的&#xff0c;因此在job中執行的命令也就會有所差異。因此可以在job中執行env命令&#…