Saya merancang API layanan REST dan macet di jalan yang tepat ke sumber daya sarang.
Sumber daya: mitra, tiket, pengaturan
Koneksi antara sumber daya:
- mitra memiliki banyak tiket,
- mitra memiliki set pengaturan,
Logika bisnis:
- Anda dapat mencantumkan semua mitra sebagai pengguna anonim,
- Anda dapat menambahkan tiket baru ke mitra yang ditentukan sebagai pengguna anonim,
- hanya mitra yang dapat mendaftarkan tiketnya,
- hanya mitra yang dapat memodifikasi tiketnya,
- hanya mitra yang dapat membuat daftar pengaturan,
- hanya mitra yang dapat mengubah pengaturan,
Apa yang saya lakukan sampai sekarang:
Sumber daya mitra
GET / mitra - daftarkan semua mitra
GET / mitra /: id - tampilkan detail mitra yang ditentukan oleh: parameter id
GET / mitra /: partner_id / tiket - daftar tiket
mitra GET / mitra /: partner_id / tiket /: id - detail tiket mitra yang ditentukan
POST / mitra /: partner_id / tiket - menyimpan
PUT tiket baru / mitra /: partner_id / tiket /: id - memperbarui tiket yang ditentukan oleh: parameter id
DAPATKAN / mitra /: mitra_id / pengaturan - daftar pengaturan mitra
PUT / partners /: partner_id / settings - perbarui pengaturan mitra
Masalah / pertanyaan
Apakah itu cara yang tepat untuk membagi sumber daya bersarang (tiket, pengaturan) untuk memisahkan sumber daya atau menggandakannya sebagai sumber daya terpisah?
Misalnya
DAPATKAN / tiket /: id
POST / tiket
PUT / tiket /: id
DAPATKAN /
PUT pengaturan / pengaturan
sumber
/partners/:partner_id/tickets
daftar menyertakan beberapa data yang berguna untuk setiap tiket, bukan hanya URI kanonik tiket. Sebagai contoh, di JSON bisa jadi[{href='/tickets/12',value=10,due='2013-08-13'},{href='/tickets/18',value=7,due='2013-09-02'}]
, klien dapat segera menunjukkan beberapa tabel, dan DAPATKAN / PUT sumber daya tiket penuh untuk manipulasi tambahan.DELETE /tickets/:id
?