Saya telah melakukan beberapa penelitian ke dalam desain layanan web RESTful dan saya telah mencapai apa yang saya pikir adalah titik keputusan utama jadi saya pikir saya akan menawarkannya kepada masyarakat untuk mendapatkan beberapa saran.
Sesuai dengan prinsip-prinsip arsitektur RESTful saya ingin menyajikan API yang dapat ditemukan, jadi saya akan mendukung berbagai kata kerja HTTP semaksimal mungkin. Kesulitan saya datang dengan pilihan representasi sumber daya tersebut. Anda tahu, akan mudah bagi saya untuk membuat API saya sendiri yang mencakup bagaimana hasil pencarian akan disajikan dan bagaimana tautan ke sumber daya lain disediakan, tetapi ini akan menjadi unik untuk aplikasi saya.
Saya telah membaca tentang Protokol Penerbitan Atom ( RFC 5023 ), dan bagaimana OData mempromosikan penggunaannya, tetapi tampaknya menambahkan tingkat abstraksi ekstra atas apa yang (saat ini) merupakan API yang agak sederhana.
Jadi pertanyaan saya adalah, kapan pengembang harus memilih AtomPub sebagai pilihan representasi mereka - jika sama sekali? Dan jika tidak, apa pendekatan yang direkomendasikan saat ini?
sumber
Jawaban:
Setelah melakukan cukup banyak penelitian tentang ini, berikut adalah temuan saya:
Tampaknya ada 3 format dan pendekatan utama: AtomPub, OData, dan HAL. Saya telah merangkum penelitian untuk masing-masing di bawah ini.
AtomPub
OData
Pro: Memberikan struktur permintaan URI yang baik
Con: Memperkenalkan kerangka kerja lengkap (pada dasarnya menggantikan Dropwizard)
HAL
Jadi kapan saya harus menggunakan AtomPub?
Dari yang di atas, pilih AtomPub jika Anda senang dengan kompleksitas tambahan dan ingin menggunakan pustaka standar untuk klien Anda. Ini mungkin akan menjadi kasus jika Anda menjalankan repositori dokumen besar.
Saya telah memasukkan lebih detail (yang di luar ruang lingkup untuk pertanyaan ini) ke dalam artikel blog terbaru yang mungkin bisa membantu orang lain.
sumber