Ini semua mungkin terlihat sangat baru, tetapi saya mencoba membungkus kepala saya merancang sebuah situs web yang benar-benar tenang. Saya memahami penerapan RESTful desain untuk hal-hal seperti Pengguna, Foto, Posting Blog, dll karena saya menganggap mereka seperti "objek".
Tapi, bagaimana dengan halaman "tentang kami". Sumber daya macam apa itu? Apakah itu bahkan sumber daya dalam arti kata ISTIRAHAT? Juga, katakan saya buka URL "http://www.example.com/", sumber daya apa yang saya minta? Sumber daya indeks?
web-development
web-applications
web
rest
http
TaylorOtwell
sumber
sumber
Jawaban:
Pola sumber daya situs web RESTful paling umum yang saya lihat adalah untuk menambahkan tampilan ke URI:
Ketika tidak ada tampilan , Anda cukup melayani tampilan default. Dalam kasus Anda:
example.com
mengembalikan tampilan default untuk sumber daya tingkat atas - situs web Anda.aboutus
bisa menjadi pengidentifikasi bernama untuk sumber daya dalam lingkup CMS tingkat atas. *Yang sedang berkata, kadang-kadang yang terbaik adalah sedikit fudge untuk semantik yang lebih baik. Sebagai contoh, StackOverflow menggunakan RESTful / pertanyaan / [id] untuk pertanyaan, tetapi halaman Tanya Pertanyaan adalah / pertanyaan / tanyakan yang tidak terlalu tenang (
ask
bukanquestions
sumber daya) tetapi masuk akal untuk menggunakan manusia biasa.* Dalam CMS di tingkat atas, tipe sumber daya sering, tetapi tidak selalu, dihapus karena berlebihan.
sumber
Perlu diingat bahwa RESTful design se se dimaksudkan untuk memberikan standar dimana web menjadi dapat diprogram secara seragam. Tidak selalu tepat atau berguna untuk mengubah seluruh situs web Anda yang menghadap ke manusia menjadi semantik REST murni.
Ketika Anda memiliki sumber daya, mengingat representasi mereka bermanfaat. Penting juga untuk mempertimbangkan prinsip-prinsip desain REST lainnya, seperti statelessnes, dan bagaimana mereka memengaruhi kinerja dan kegunaan situs web Anda. Tapi ingat bahwa REST adalah alat, bukan tujuan. Ini sarana, bukan tujuan.
Gunakan semantik RESTful di mana berguna , setelah memahami tujuan dan manfaatnya, dan jangan berkeringat jika situs Anda tidak sepenuhnya tenang. Hampir tidak mungkin untuk situs non-sepele dalam acara apa pun.
TL; DR : REST adalah alat. Gunakan kapan dan di mana itu berguna tetapi jangan terikat dengannya.
sumber
Kompleks. Tidak ada yang salah dengan sumber daya yang memiliki komponen, potongan atau struktur.
Sumber daya bukanlah "baris basis data relasional" atau hal-hal atom lainnya. Itu sumber daya.
Database berorientasi dokumen menangani ini dengan lebih anggun karena sumber daya dapat lebih besar dan lebih terstruktur.
Iya.
Tidak.
Anda meminta sumber daya "aboutus". Mungkin saja (tetapi aneh) bagi sumber daya untuk menjadi lajang. Tidak ada ID dan bukan "daftar".
http://www.example.com/aboutus/?format=xml
Mengembalikan dokumen XML yang kompleks dengan banyak potongan dan bagian. Tidak ada yang salah dengan itu.
Tidak berarti banyak dalam arti "TENANG". Halaman "indeks" adalah untuk orang-orang. Aplikasi yang menggunakan API RESTful dirancang untuk meminta jenis sumber daya tertentu.
sumber
Saya akan menjaga pandangan saya independen dari back-end. Anda dapat meminta back-end untuk sumber daya seperti hal-hal yang terjadi pada akordeon, bilah navigasi, dan objek lain yang berkaitan dengan tubuh. Namun, Anda harus meninggalkan pemrosesan representasi sumber daya ini ke kode klien Anda, yang pada akhirnya akan membuatnya sesuai dengan persyaratan.
sumber
Sumber daya untuk "Tentang Kami" adalah ... Kami :) eh, Anda. Pikirkan atribut-atribut Anda yang ingin Anda publikasikan, dan gulung semua itu sebagai kata benda dengan representasi.
Nilai-nilai itu tidak harus berasal dari database ... itu mungkin akan menjadi banyak nilai string, dan itu bisa berasal dari konfigurasi, atau bahkan mungkin hard-coded di kelas.
sumber