Nesiapedia

Mengenal RESTful API

Pada post-post selanjutnya kita akan membuat RESTful API dengan PHP atau Node.js. Namun sebelumnya kita mulai coding, ada baiknya kita memahami terlebih dahulu konsep API dan REST. Sebenarnya apa sih API dan RESTful itu?

API merupakan singkatan dari Application Programming Interface. Yaitu suatu “jembatan” atau “penghubung” yang memungkinkan suatu aplikasi untuk dapat berkomunikasi atau berbagi data satu sama lain tanpa harus memiliki bahasa pemrograman yang sama.

Jadi, misalkan kita membangun RESTful API dengan bahasa PHP maka aplikasi Android, IOS atau Desktop App kita yang berbasis Delphi akan tetap dapat berkomunikasi.

RESTful sendiri berbeda dengan API. REST merupakan singkatan dari Representational State Transfer yaitu suatu arsitektur metode komunikasi yang berjalan dengan teknologi WWW. Protocol yang sering dipakai adalah HTTP.

Ilustrasi RESTful API (sumber: apptha.com)
Cara Kerja RESTful API (sumber: apptha.com)

Untuk setiap request yang dilayani oleh REST API akan mendapatkan response balasan. Biasanya response yang didapat berupa data JSON atau XML. Nah, response data ini kemudian dapat digunakan atau diolah sesuai kebutuhan client.

Komponen RESTful API

RESTful API memiliki 4 komponen utama, antara lain:

  1. Desain URL
    • RESTful API diakses melalui teknologi WWW, jadi sangat penting untuk memiliki URL yang baik.
    • Contoh penulisan URL yang baik:
      • http://example.com/products
      • http://example.com/products/1 (untuk mendapatkan informasi produk dengan ID 1)
  2. HTTP Verbs
    • Ketika client melakukan request, client harus mendefinisikan metode request yang diminta. Sehingga server mengerti apa yang sedang di request. Ada beberapa metodenya antara lain:
      • GET: Untuk mendapatkan informasi atau data.
      • POST: Untuk membuat data baru atau INSERT pada database.
      • PUT: Untuk melakukan update data tertentu.
      • DELETE: Untuk menghapus data tertentu pada database.
    • Selain 4 metode diatas, sebenarnya masih ada metode lain seperti: HEAD, PATCH, atau OPTIONS namun jarang digunakan.
  3. HTTP Status Code
    • Selain response berupa data, setiap request yang dilakukan akan mendapatkan status code. Beberapa contoh status code yang ada antara lain:
      • 200 OK
      • 201 Created
      • 400 Bad Request
      • 401 Unauthorized
      • 404 Not Found
      • 405 Method Not Allowed
      • 409 Conflict
      • 500 Internal Server Error
  4. Format Response
    • Seperti yang telah saya singgung diatas, format Response adalah balasan data dari setiap request yang dilakukan. Bisa berformat JSON atau XML.
    • Pada awalnya penggunaan XML sangat populer, hingga tahun 2011 menunjukkan penurunan drastis.
    • GET /member/5
      HTTP/1.1 200 OK
      Content-Type: application/vnd.api+json
      
      {
      “id”: “5”,
      “nama”: “Steve”,
      “email”: “steve_roger@avenger.com”
      }

      Diatas adalah contoh data berformat JSON. JSON memiliki kelebihan dibandingkan XML, salah satunya adalah ukuran data yang lebih kecil.

Sekian post saya kali ini mengenai Pengenalan RESTful API, sampai jumpa di post selanjutnya. Terima kasih.

Andri Sutanto