Saya merancang aplikasi web baru yang didukung oleh backend REST dan HTML + JS frontend.
Ada satu metode POST untuk mengubah satu entitas (sebut Config), yang memiliki beberapa efek samping dalam banyak elemen aplikasi. Misalkan POST dilakukan dengan cara ini:
POST /api/config BODY {config: ....}
Karena itu, saya ingin menampilkan pratinjau sebelum perubahan tersebut dibuat, agar pengguna akhir dapat melihat apa yang akan berubah.
Hal pertama yang saya pikirkan adalah membuat titik akhir GET untuk pratinjau, mengirimkan badan status baru entitas. Cara ini:
GET /api/preview/items BODY {config: ....}
Dapat menunjukkan status baru untuk item dengan konfigurasi baru.
GET /api/preview/sales BODY {config: ....}
Mungkin menunjukkan keadaan baru untuk penjualan dengan konfigurasi baru.
Tampaknya ide yang baik untuk menggunakan kata kerja GET karena saya tidak mengubah keadaan aplikasi. Namun, penggunaan badan permintaan dengan permintaan GET tampaknya tidak dianjurkan .
Apakah ada praktik yang baik tentang ini? Pilihan lain mungkin untuk menyimpan konfigurasi sebagai konsep dengan satu metode dan menampilkan hasilnya dengan yang lain, tetapi itu akan memerlukan langkah tambahan dan harus mengelola konsep di server:
POST /api/preview/config BODY {config: ....}
GET /api/preview/items?idPreviewConfig=1
items
dan sales
(bukan struktur), tergantung pada konfigurasi POST Anda.
items
atausales
? Apakah itu memengaruhi representasi entitas yang dikembalikan?