Materi
Badan pesan adalah isi sesudah baris kosong. API web umumnya mengirim JSON, format teks yang aturannya ditetapkan RFC 8259 dan yang cara membaca serta menulisnya sudah dibahas di kelas JavaScript Lanjutan lewat JSON.parse dan JSON.stringify. Yang baru di sini adalah kapan badan itu ada dan bagaimana klien tahu isinya JSON.
Tidak semua respons membawa badan. 204 No Content berarti berhasil tanpa isi tambahan (RFC 9110 §15.3.5), dan 304 Not Modified juga tanpa isi. JSON.parse pada teks kosong menghentikan program dengan SyntaxError, dan response.json() di fetch gagal dengan cara yang sama. Karena itu klien memeriksa kode status dan jenis media Content-Type sebelum mengurai; respons galat dari server perantara bisa saja berupa halaman HTML.
const kiriman = {
method: "POST",
headers: { "content-type": "application/json", accept: "application/json" },
body: JSON.stringify({ resep: 14, bintang: 5 }),
};
// Badan respons 201 berisi teks, bukan objek:
// '{"id":88,"resep":14,"bintang":5}'Saat mengirim, data diubah dengan JSON.stringify dan header Content-Type: application/json dipasang. RFC 8259 mewajibkan teks JSON yang dipertukarkan antarsistem memakai UTF-8. Bagian §6 spesifikasi itu mencatat bahwa bilangan bulat di luar rentang ±(2^53 − 1) tidak dijamin terbaca sama oleh semua program; JavaScript membaca angka JSON sebagai Number, sehingga ID yang lebih besar dari itu bisa berubah tanpa pesan.