REST API Basics
Membaca resource, endpoint, method, query parameter, serta request/response dasar sebelum menghubungkan UI ke data server.
Tujuan belajar
- Menjelaskan API sebagai contract antara frontend dan server
- Membaca resource, endpoint, method, query parameter, dan response body pada REST API sederhana
- Membedakan GET untuk membaca dari POST untuk membuat data pada contoh dasar
- Menentukan pertanyaan contract sebelum mulai menulis fetch
Isi lesson
6 blok- 1.API adalah contract, bukan sekadar URL fetchBelum selesaiWajib
- 2.Membaca satu request daftar courseBelum selesaiWajib
- 3.Coding practiceBelum selesaiWajib
- 4.Cek pemahamanBelum selesaiWajib
- 5.Nama endpoint tidak cukup untuk menjelaskan contractBelum selesaiWajib
- 6.RingkasanBelum selesaiWajib
API adalah contract, bukan sekadar URL fetch
WajibSaat frontend meminta daftar course, browser tidak perlu tahu database atau framework yang dipakai server. Frontend perlu contract yang dapat dibaca: resource apa yang diminta, endpoint mana yang dipakai, method apa yang diizinkan, input apa yang dikirim, bentuk response apa yang diterima, dan apa arti setiap error. REST adalah salah satu gaya umum untuk menyusun contract ini di atas HTTP. Resource biasanya berupa kata benda seperti courses, profiles, atau enrollments; endpoint adalah alamat untuk mengakses atau mengubah resource tersebut.
Sebelum menulis fetch, baca contoh request dan response seperti membaca interface antar tim. GET /api/courses?level=advanced dapat berarti meminta kumpulan course dengan filter. POST /api/courses dapat berarti mengirim body untuk membuat course. Jangan menebak method, nama field, atau success response dari nama endpoint saja. Contract milik provider atau backend team adalah sumber kebenaran.
Bagian ini memengaruhi progres lesson.
Membaca satu request daftar course
WajibGET /api/courses?level=advanced HTTP/1.1
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{ "data": [{ "id": "html-forms", "title": "HTML Forms" }], "next_cursor": "course_2" }GET adalah method request. /api/courses adalah endpoint resource, sedangkan level=advanced adalah query parameter yang mengubah hasil tanpa menjadi bagian path resource. Response 200 membawa JSON. Pada contract ini, array berada di data dan next_cursor dapat dipakai untuk meminta halaman berikutnya. Metadata seperti next_cursor perlu dipetakan, bukan dibuang atau dipakai component tanpa konteks.
Bagian ini memengaruhi progres lesson.
Coding practice
WajibDibuka di workspace khususRead course REST request
Tulis model request GET untuk daftar course advanced dan catat bagian contract yang dibaca sebelum fetch.
Tujuan awal: Fokus di tab TS.
Practice ini dibuka di workspace khusus. Buka practice untuk memakai editor, preview, dan cek otomatis.
Tombol selesai aktif setelah semua validasi wajib lolos.
Cek pemahaman
WajibJawab duluCek pemahaman singkat
Pada REST API sederhana, request mana paling tepat untuk membaca daftar course dengan filter level?
Progres lesson naik setelah jawaban benar.
Kesalahan umum
WajibNama endpoint tidak cukup untuk menjelaskan contract
Endpoint yang terlihat sederhana tetap dapat memiliki pagination, permission, query parameter wajib, format tanggal, atau error shape khusus. Jangan membuat URL sendiri dari nama component lalu berharap server menebak maksudnya. Catat method, input, success response, dan failure response sebelum mulai integration.
Bagian ini memengaruhi progres lesson.
Ringkasan
Wajib- API contract menjelaskan cara frontend dan server bertukar data.
- REST sering memakai resource, endpoint, HTTP method, query parameter, request body, dan response body.
- GET membaca data; POST, PATCH, atau DELETE punya intent berbeda sesuai contract.
- Baca contoh request serta response sebelum menulis fetch atau JSX.
- Berikutnya, kita membandingkan REST dengan GraphQL tanpa menganggap salah satunya selalu lebih baik.
Bagian ini memengaruhi progres lesson.
Langkah berikutnya
Selesaikan bagian penting lesson ini
Lanjutkan blok wajib berikutnya: API adalah contract, bukan sekadar URL fetch.