Panduan Singkat Membuat RESTful API yang baik

Teten Nugraha
Hackflix
Published in
2 min readJun 19, 2019

--

REST (Representative State Transfer) adalah sebuah teknologi yang memungkinkan komunikasi berbasis web dengan protokol yang digunakan biasanya adalah HTTP (Hypertext Transfer Protocol) dan REST pertamakali diperkenalkan pada tahun 2000 oleh Roy Fielding.

Pada artikel ini penulis akan memberikan informasi mengenai panduan singkat membuat REST yang baik yang sesuai dengan standar internasional

Photo by Severin Höin on Unsplash

Endpoint gunakanlah Kata Benda Jamak (Plural)

/products (mengembalikan list product)
/products/1 (mengembalikan product dengan Id )

dan jangan menggunakan kata kerja

/getAllProducts
/getAllProductsByCategory/1

Gunakan HTTP Method yang benar

Method-method standar yang biasa digunakan yaitu :

  1. GET — Untuk mendapatkan data
  2. POST — Untuk menginput data baru
  3. PUT — Untuk memanipulasi Data
  4. DELETE — Untuk menghapus Data

GET hanya untuk mengambil data, jangan gunakan untuk memanipulasi data

Gunakan sub-resource untuk sebuah relasi

Kadang kita mempunyai kebutuhan sebagai berikut, akan menampilkan semua data comment dari 1 postingan, nah untuk kebutuhan sebagai berikut baiknya standar nya sebagai berikut

/posts/1/comments (mengeluarkan data comment dari data post ID 1)
/posts/1/comments/2 (mengeluarkan data comment dengan ID 2)

Menggunakan Parameter

Untuk kebutuhan filtering bisa menggunakan parameter dengan standar berikut

/products?categoryName='AX' (mengeluarkan data products dengan kategory 'AX')

Menggunakan Paging

Khususnya dalam menggunakan method GET, untuk jumlah data yang besar kita bisa mengeluarkan data berdasarkan limit data (Paging)

/products?limit=20 (mengeluarkan 20 data product)

Pengurutan Data

Disamping paging, kadang kita juga perlu untuk mengurutkan data berdasarkan request dari client

/products?sort=updated_at (Mengeluarkan data berdasarkan dari yang update terbaru )

HTTP Code

Berikut adalah List kode yang biasanya digunakan dalam REST

200 — Untuk menunjukan operasi yang direquest berhasil di proses

201 CREATED — Menunjukan operasi yang dilakukan berhasil membuat resource baru

400 BAD REQUEST — Biasanya kode error yang menunjukan dari sisi client misalkan client salah menginput data

403 FORBIDDEN — Response dari client misalnya client mengakses endpoint yang menyertakan Authorization tapi tidak mengirim kan token

401 NOT FOUND- Reponse yang menunjukan sumber yang direquest tidak tersedia

500 INTERNAL SERVER ERROR — terjadi kesalahan / error dari sisi server

Gunakan Versioning

Penggunakan versi API sangatlah penting, apalagi diperusahaan yang banyak menggunakan versi API.

/v1/products
/v2/products

Response Success

Sobat bisa menggunakan format standar berikut sebagai format response yang sukses

{
"status": "success",
"data":
},
"message": null
}

Error Response

{
"status": "error",
"data": null,
"message": "message error",
"errorCode":401
}

--

--

Teten Nugraha
Hackflix

Software Engineer, 8 years of experience. Expertise with Microservices, Spring Boot, CICD, Docker https://www.linkedin.com/in/teten-nugraha