Satu "dimensi" dari topik ini telah ditinggalkan namun ini sangat penting: ada saatnya "praktik terbaik" harus dibuat sesuai dengan plaform yang kami laksanakan atau ditambahi dengan kemampuan REST.
Contoh praktis:
Banyak aplikasi web saat ini mengimplementasikan arsitektur MVC (Model, View, Controller). Mereka menganggap jalur standar tertentu disediakan, terlebih lagi ketika aplikasi web itu datang dengan opsi "Aktifkan SEO URL".
Untuk menyebutkan aplikasi web yang cukup terkenal: toko e-commerce OpenCart. Ketika admin mengaktifkan "SEO SEO", ia mengharapkan URL tersebut dalam format MVC yang cukup standar seperti:
http://www.domain.tld/special-offers/list-all?limit=25
Dimana
special-offers
adalah pengontrol MVC yang akan memproses URL (menampilkan halaman penawaran khusus)
list-all
adalah tindakan atau nama fungsi pengendali untuk memanggil. (*)
limit = 25 adalah opsi, yang menyatakan bahwa 25 item akan ditampilkan per halaman.
(*) list-all
adalah nama fungsi fiktif yang saya gunakan untuk kejelasan. Pada kenyataannya, OpenCart dan sebagian besar kerangka kerja MVC memiliki fungsi default, tersirat (dan biasanya dihilangkan dalam URL) index
yang dipanggil ketika pengguna menginginkan tindakan default untuk dilakukan. Jadi URL dunia nyata adalah:
http://www.domain.tld/special-offers?limit=25
Dengan struktur aplikasi atau kerangka kerja yang sekarang cukup standar mirip dengan di atas, Anda akan sering mendapatkan server web yang dioptimalkan untuk itu, yang menulis ulang URL untuk itu ("URL bukan SEO" sebenarnya adalah:) http://www.domain.tld/index.php?route=special-offers/list-all&limit=25
.
Oleh karena itu Anda, sebagai pengembang, dihadapkan pada berurusan dengan infrastruktur yang ada dan mengadaptasi "praktik terbaik" Anda, kecuali jika Anda adalah admin sistem, tahu persis bagaimana men-tweak konfigurasi penulisan ulang Apache / NGinx (yang terakhir dapat menjadi jahat!) Dan sebagainya di.
Jadi, API REST Anda seringkali jauh lebih baik mengikuti standar aplikasi web rujukan, baik untuk konsistensi dan kemudahan / kecepatan (dan dengan demikian menghemat anggaran).
Untuk kembali ke contoh praktis di atas, REST API yang konsisten akan menjadi sesuatu dengan URL seperti:
http://www.domain.tld/api/special-offers-list?from=15&limit=25
atau (bukan URL SEO)
http://www.domain.tld/index.php?route=api/special-offers-list?from=15&limit=25
dengan campuran argumen "jalur terbentuk" dan argumen "kueri terbentuk".