Saya sedang membangun REST API yang memungkinkan sisipan (POST, bukan idempoten) dan pembaruan (PUT, idempoten) permintaan untuk menambah / memperbarui database ke aplikasi kita.
Saya bertanya-tanya apakah ada standar atau praktik terbaik mengenai data apa yang kami kirim kembali ke klien sebagai respons untuk operasi POST (insert). Kami harus mengirim kembali setidaknya nilai ID rekaman (mis. Rekor baru Anda adalah rekor # 1234).
Haruskah kita merespons dengan objek penuh? (mis. pada dasarnya respons yang sama dengan yang mereka dapatkan dari permintaan "GET / object_type / 1234")
Haruskah kita merespons hanya dengan nilai ID baru? (mis. "{id: 1234}", yang berarti bahwa jika mereka ingin mengambil seluruh catatan, mereka perlu melakukan permintaan HTTP GET tambahan untuk mendapatkan catatan lengkap)
Header pengarah mengarahkan mereka ke URL untuk objek lengkap?
Sesuatu yang lain sama sekali?
Jawaban:
Nah, dalam antarmuka REST, mengikuti HTTP jika memungkinkan, saya akan mengembalikan 201 dan URI di bidang header Lokasi ke Sumber Daya yang baru dibuat. Inilah yang dikatakan Definisi Kode Status :
Jika terjadi kesalahan, saya berpendapat Anda tidak boleh kembali
-1
seperti yang dikatakan orang lain, tetapi hanya Kode Klien atau Server Kesalahan (4xx atau 5xx). Misalnya, jika pengguna tidak diizinkan membuat beberapa sumber daya baru, Anda cukup mengembalikan "401 Tidak Sah", tidak lebih dan tidak kurang.sumber