Apa yang Anda sebut REST API tunggal mungkin disebut set sumber daya atau sumber daya REST API tertentu . Anda juga dapat melihatnya sebagai fungsionalitas REST API . Seperti segala jenis perangkat lunak, seluruh paket diversi / diperbarui, bukan fungsi tunggal atau sumber daya.
Pertanyaan Anda akan masuk akal dalam konteks di mana sumber daya paket REST API bersifat modular dan berpotensi dikembangkan dan diversi secara terpisah.
Kemudian, sejauh yang saya lihat, kontra utama dari konvensi penamaan pencari sumber daya yang Anda usulkan adalah:
- Untuk pengguna API , ini akan menghasilkan pencari sumber daya yang jauh lebih kompleks, kurang dapat diprediksi, kurang mudah diingat dan kurang stabil.
- Untuk pengembang modul , sekarang lebih banyak pekerjaan harus berurusan dengan versi ini di pencari sumber daya mereka sendiri .
- Perubahan pencari sumber daya menjadi jauh lebih sering, sebanyak ada beberapa modul yang diperbarui sehingga kontra di atas bersifat eksponensial ...
Saat membuat API, salah satu tujuan utama Anda adalah membuatnya mudah digunakan ...
Anda mungkin menemukan cara yang lebih baik untuk memperkenalkan perubahan yang melanggar atau bahkan versi REST API dengan mungkin header HTTP?
Untuk mengetahui lebih banyak tentang pendekatan HTTP header, lihat jawaban lain di bawah ini dan: https://www.troyhunt.com/your-api-versioning-is-wrong-which-is/
vnd
bagian dan+
sintaks tipe untuk: untuk menunjukkan ini adalah subtipe khusus vendor dariapplication/json
tipe tersebut. Inilah jenis konten yang dirancang untuk. Sumber daya Anda tersedia dalam berbagai format. Anda meminta klien untuk memilih format mana yang mereka inginkan. Selain itu, tidak ada alasan permintaan API tidak dapat menggunakan semantik caching HTTP standar.Kuncinya adalah bahwa jika Anda membuat versi setiap titik akhir secara terpisah, maka Anda harus dapat menggunakan setiap titik akhir secara terpisah.
API biasanya memiliki satu versi karena semua titik akhir berada dalam basis kode yang sama dan karenanya memiliki dependensi bersama dan digunakan bersama.
Jika Anda tidak memperbarui versi ketika Anda membuat perubahan karena "Oh, saya cukup yakin perubahan saya tidak mempengaruhi itu" baik Anda akan mendapat masalah ketika Anda membuat kesalahan.
Selain itu, Anda ingin memiliki v1 dan v2 API Anda digunakan pada saat yang sama. Ini biasanya dilakukan dengan menempatkan setiap versi ke server terpisah dan merutekan lalu lintas sesuai.
Jika Anda tidak memiliki versi API tunggal ini menjadi jauh lebih kompleks.
sumber