Materi 13 - Programming dan Data Science

RESTful API Design

Standar industri untuk komunikasi antar service. Resource-based, predictable.

Durasi 28 Menit Level intermediate Kurikulum 30 Materi

1. Apa Itu REST

Representational State Transfer. Arsitektur untuk web service yang resource-based. Setiap URL menunjuk ke resource (mis. /users, /products). HTTP method menunjukkan aksi.

2. HTTP Methods

GET (ambil data, tidak ubah server). POST (buat baru). PUT (update keseluruhan). PATCH (update parsial). DELETE (hapus). Pakai sesuai semantic, jangan asal POST untuk semuanya.

3. URL Design

Pakai noun (kata benda), bukan verb. Plural untuk collection. Hierarki untuk relasi. Contoh baik: /users/123/orders. Contoh buruk: /getUserOrders/123. Konsisten across API.

4. Status Code

200 OK (success). 201 Created (resource baru). 400 Bad Request (input salah). 401 Unauthorized (belum login). 404 Not Found. 500 Server Error. Pakai yang tepat untuk debugging.

5. Versioning dan Pagination

Versioning: /v1/users vs /v2/users untuk evolve API tanpa break client lama. Pagination wajib untuk list panjang: ?page=1&limit=20. Hindari kirim 1 juta record sekaligus.

Tugas Praktik

  1. Design REST API untuk e-commerce sederhana
  2. Implementasi 5 endpoint dengan method berbeda
  3. Tambah error handling dengan status code tepat
  4. Setup pagination untuk list products
  5. Test dengan Postman atau Insomnia

Rangkuman