Dalam laravel, dingo ialah kit alat pembangunan API untuk rangka kerja laravel dan lumen; terutamanya mempunyai tiga fungsi: pengurusan versi penghalaan, pengendalian pengecualian "Http Exception" dan format tindak balas penukaran "Transform Respons".
Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.
dingo ialah kit alat pembangunan API untuk rangka kerja laravel dan lumen.
Melihat pada direktori dokumen, berdasarkan spesifikasi API, ia berkisar pada tiga fungsi utama:
Pengurusan versi laluan
Pengendalian pengecualian Http Exception
Format respons penukaran Transformasi Respons
dingoapi ialah pemalam sumber terbuka untuk laravel, yang boleh dicari pada github dan kini berada dalam Apabila bekerja pada projek, akan sentiasa ada interaksi data json antara bahagian belakang dan bahagian hadapan dalam projek, dan dingoapi ini memberikan kemudahan yang hebat untuk interaksi json.
Kawalan versi laluan
1. Spesifikasi api memerlukan pembangunan antara muka sama ada mempunyai awalan api (http://XXX.com/api/xxx) atau nama subdomain (http://api.XXX.com/xxx Melalui pengenalan sedemikian, Mewakili permintaan untuk perkhidmatan antara muka API.
Jadi, salah satu daripada API_PREFIX=api dan API_DOMAIN=api.myapp.com mesti ditetapkan.
Pilihan.env yang mungkin perlu dikonfigurasikan
Sudah tentu, peranannya bukan sekadar pengecam Kami tahu bahawa penghalaan dingo dan penghalaan laravel wujud bersama, dan dingo dinilai oleh ciri ini. .
2 Kawalan Versidingo menyediakan perkhidmatan penghalaannya sendiri, jika http://XXX.com/api/xxx atau http://api.XXX Bila mengakses com/xxx, ia menganggapnya sebagai permintaan api Perkhidmatan penghalaan dingo DingoApiRoutingRouter akan mengambil alih perkhidmatan penghalaan laravel sendiri IlluminateRoutingRouter (untuk cara mengambil alih, saya akan membincangkannya kemudian). ), match() Kaedah ,group()... adalah setara dengan sistem penghalaan yang lain. Jika laravel membezakan versi, anda mungkin perlu membawa awalan v1, seperti http://XXX.com/api/v1 atau http://XXX.com/api/v2. Dan dingo diproses melalui pengepala Terima. Formatnya ialah Terima: application/vnd.YOUR_SUBTYPE.v1 json. Ini bermakna anda perlu menghantar pengepala permintaan terima untuk diakses.
Dalam fail konfigurasi, mod ini tidak wajib secara lalai, API_STRICT=false, tetapi anda hanya boleh mengakses versi lalai dalam fail konfigurasi, 'version' => env('API_VERSION', 'v1' ) ,.
Jika ditetapkan kepada benar, yang bermaksud mod ketat dihidupkan, pengepala terima mesti dihantar dan API anda tidak boleh diakses terus melalui penyemak imbas.
pilihan.env yang mungkin perlu dikonfigurasikan API_STRICT=true //Untuk mendayakan mod ketat, anda mesti membawa maklumat pengepala terima tanpa mengira v1 atau v2API_VERSION= v1 //Nombor versi lalai apabila tiada nombor versi diisytiharkan
Jika mod ketat dihidupkanTerdapat beberapa pilihan untuk atribut terima pengepala:
Terima: application/vnd.YOUR_SUBTYPE.v1 json
API_STANDARDS_TREE=x,prs,vnd Standards Tree Standard Tree
API_SUBTYPE=myapp Subjenis: Nama pendek program atau projek
v1 : Nombor versi
json: Format yang dikembalikan juga boleh menjadi jsonp
.env Pilihan yang mungkin perlu dikonfigurasikan API_STANDARDS_TREE =prsAPI_SUBTYPE=lara
API_DEFAULT_FORMAT=json //Default
[Cadangan berkaitan:tutorial video laravel
]
Atas ialah kandungan terperinci Apakah dingo dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!