Yang saya inginkan adalah mendapatkan objek dari API dengan permintaan HTTP (misalnya, AJAX jQuery) ke api eksternal. Bagaimana saya memulai? Saya melakukan riset di Mr Google tetapi saya tidak dapat menemukan bantuan.
Saya mulai bertanya-tanya apakah ini mungkin? Dalam posting ini Laravel 4 membuat permintaan posting dari controller ke url eksternal dengan data yang sepertinya dapat dilakukan. Tetapi tidak ada contoh atau sumber mana pun untuk menemukan dokumentasi.
Tolong bantu saya?
Jawaban:
Berdasarkan jawaban dari pertanyaan serupa di sini: https://stackoverflow.com/a/22695523/1412268
Lihatlah Guzzle
sumber
Kita dapat menggunakan paket Guzzle di Laravel, itu adalah klien HTTP PHP untuk mengirim permintaan HTTP.
Anda dapat menginstal Guzzle melalui komposer
Atau Anda dapat menentukan Guzzle sebagai ketergantungan pada composer.json proyek Anda yang ada
Contoh kode dalam laravel 5 menggunakan Guzzle seperti yang ditunjukkan di bawah ini,
sumber
// "200"
seharusnya// 200
karena nilai yang dikembalikan adalah bilangan bulat.Anda hanya ingin memanggil URL eksternal dan menggunakan hasilnya? PHP melakukan ini di luar kebiasaan, jika kita berbicara tentang permintaan GET sederhana untuk sesuatu yang melayani JSON:
Jika Anda ingin melakukan permintaan posting, ini sedikit lebih sulit tetapi ada banyak contoh bagaimana melakukan ini dengan curl.
Jadi saya kira pertanyaannya adalah; apa yang sebenarnya kamu inginkan?
sumber
Pada Laravel v7.X , kerangka kerja sekarang hadir dengan API minimal yang membungkus klien HTTP Guzzle . Ini menyediakan cara mudah untuk membuat get , posting , put , Patch , dan menghapus permintaan menggunakan HTTP Client :
Anda dapat mengelola respons menggunakan serangkaian metode yang disediakan oleh
Illuminate\Http\Client\Response
instance yang dikembalikan.Harap perhatikan bahwa Anda harus menginstal Guzzle seperti:
Ada banyak fitur yang lebih bermanfaat yang ada di dalamnya dan Anda dapat mengetahui lebih banyak tentang set fitur ini di sini: https://laravel.com/docs/7.x/http-client
Ini jelas sekarang cara termudah untuk melakukan panggilan API eksternal dalam Laravel.
sumber
Diperbarui pada 21 Maret 2019
Tambahkan
GuzzleHttp
paket menggunakancomposer require guzzlehttp/guzzle:~6.3.3
Atau Anda dapat menentukan Guzzle sebagai ketergantungan pada proyek Anda
composer.json
Sertakan baris di bawah ini di bagian atas kelas tempat Anda memanggil API
Tambahkan kode di bawah ini untuk mengajukan permintaan
sumber
Secara pasti, untuk proyek PHP apa pun, Anda mungkin ingin menggunakan GuzzleHTTP untuk mengirim permintaan. Guzzle memiliki dokumentasi yang sangat bagus yang dapat Anda periksa di sini . Saya hanya ingin mengatakan itu, Anda mungkin ingin memusatkan penggunaan kelas Klien Guzzle dalam komponen apa pun dari proyek Laravel Anda (misalnya suatu sifat) alih-alih membuat mesin virtual Klien pada beberapa pengontrol dan komponen Laravel (karena banyak artikel dan balasan menyarankan).
Saya membuat sifat yang dapat Anda coba gunakan, yang memungkinkan Anda mengirim permintaan dari setiap komponen proyek Laravel Anda, cukup menggunakannya dan menelepon ke
makeRequest
.Perhatikan sifat ini bahkan dapat menangani pengiriman file.
Jika Anda ingin detail lebih lanjut tentang sifat ini dan beberapa hal lain untuk mengintegrasikan sifat ini ke Laravel, periksa artikel ini . Selain itu, jika tertarik dengan topik ini atau membutuhkan bantuan besar, Anda dapat mengambil kursus saya yang memandu Anda dalam keseluruhan proses.
Saya harap ini membantu Anda semua.
Semoga sukses :)
sumber
Anda dapat menggunakan Httpful:
Situs web: http://phphttpclient.com/
Github: https://github.com/nategood/httpful
sumber