Tindak lanjuti diskusi yang berlangsung di https://github.com/swagger-api/swagger-codegen/pull/5190 dan https://github.com/swagger-api/swagger-codegen/issues/1482. Dalam beberapa kasus ketergantungan pada membuang waktu mungkin menjadi masalah dan seharusnya dimungkinkan untuk menggunakan klien lain yang kompatibel dengan psr7. Seharusnya tidak menjadi masalah besar mengingat klien yang dihasilkan sudah menggunakan objek permintaan dan respons yang kompatibel dengan psr7.
2.3.0+
tidak ada
--library=none
atau semacamnya
tidak ada
https://github.com/swagger-api/swagger-codegen/pull/5190
https://github.com/swagger-api/swagger-codegen/issues/1482
tidak ada
Yang terbaik adalah menggunakan php-http secara langsung karena menyediakan abstraksi klien HTTP dengan kepatuhan antarmuka PSR7 dan memungkinkan pengguna akhir untuk memilih mana yang akan digunakan: http://docs.php-http.org/en/latest/clients.html
Sederhana dan digunakan oleh banyak perpustakaan PHP sekarang: https://packagist.org/packages/php-http/httplug/dependents
Saya melihat itu diusulkan di https://github.com/swagger-api/swagger-codegen/pull/5190/files#r108366631 tetapi dihapus, mengapa?
kecuali jika Anda memerlukan permintaan async, saya tidak akan bergantung pada antarmuka klien httplug tetapi antarmuka psr-18 secara langsung, dan psr-17 untuk pabrik untuk permintaan.
php-http menawarkan banyak klien yang mengimplementasikan antarmuka klien, dan versi membuang waktu berikutnya diharapkan untuk mengimplementasikan psr-18 secara langsung. cara untuk melakukannya adalah dengan meminta psr/http-client-implementation dan kemudian membiarkan pengguna mengonfigurasi perpustakaan dengan klien atau berpotensi menggunakan php-http/discovery untuk secara otomatis menemukan klien yang tersedia.
Apakah ini sesuatu untuk diterapkan sebagai opsi, atau hanya sebagai jenis lain dari output yang dihasilkan? Jika saya ingin membayar dengan pendekatan ini, apakah ada cara untuk membungkus output sebagai modul yang dapat dipasang? Saya dapat membayangkan ada banyak lusinan kode yang dihasilkan yang mungkin ingin dihasilkan orang (misalnya, saya ingin membuat hanya pembuatan pesan tanpa klien apa pun) jadi pasti ada cara yang dapat dilakukan tanpa forking dan memodifikasi seluruh aplikasi ?
Komentar yang paling membantu
kecuali jika Anda memerlukan permintaan async, saya tidak akan bergantung pada antarmuka klien httplug tetapi antarmuka psr-18 secara langsung, dan psr-17 untuk pabrik untuk permintaan.
php-http menawarkan banyak klien yang mengimplementasikan antarmuka klien, dan versi membuang waktu berikutnya diharapkan untuk mengimplementasikan psr-18 secara langsung. cara untuk melakukannya adalah dengan meminta psr/http-client-implementation dan kemudian membiarkan pengguna mengonfigurasi perpustakaan dengan klien atau berpotensi menggunakan php-http/discovery untuk secara otomatis menemukan klien yang tersedia.