Rumah  >  Artikel  >  rangka kerja php  >  Apakah dingo dalam laravel

Apakah dingo dalam laravel

WBOY
WBOYasal
2022-02-23 16:39:392721semak imbas

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".

Apakah dingo dalam laravel

Persekitaran pengendalian artikel ini: sistem Windows 10, Laravel versi 6, komputer Dell G3.

Apakah dingo dalam laravel?

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 Versi

dingo 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 v2

API_VERSION= v1 //Nombor versi lalai apabila tiada nombor versi diisytiharkan

Jika mod ketat dihidupkan

Terdapat 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 =prs

API_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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn