Rest Api
Rest Api
1. API
API adalah singkatan dari Application Programming Interface yaitu sebuah software
yang memungkinkan para developer untuk mengintegrasikan dan mengizinkan dua aplikasi
yang berbeda secara bersamaan untuk saling terhubung satu sama lain.
Tujuan penggunaan dari API adalah untuk saling berbagi data antar aplikasi yang berbeda
tersebut, Tujuan penggunaan API lainnya yaitu untuk mempercepat proses pengembangan
aplikasi dengan cara menyediakan sebuah function yang terpisah sehingga para developer tidak
perlu lagi membuat fitur yang serupa.
Istilah “API” sebetulnya tidak ada hubungannya dengan hal-hal yang berkaitan dengan
web, karena istilah tersebut sudah ada sebelum web. Hal Ini semacam dikooptasi yang berarti
“pemanggilan web service”. Tapi secara tradisional, Pengertian API bukan seperti itu. Tapi
lebih berkaitan dengan fungsi-fungsi yang disediakan oleh Sistem Operasi.
Dalam REST API, komunikasi antara klien dan server terjadi melalui permintaan HTTP
yang dikirim oleh klien ke server. Permintaan ini dapat berupa permintaan GET untuk
mendapatkan data, permintaan POST untuk membuat data baru, permintaan PUT atau PATCH
untuk memperbarui data, dan permintaan DELETE untuk menghapus data. Klien juga dapat
menyertakan HTTP Header dalam permintaan untuk memberikan informasi tambahan, seperti
autentikasi atau preferensi konten.
Dalam pengembangan REST API, penting untuk mengikuti konvensi dan prinsip-prinsip
RESTful API, seperti penggunaan HTTP Verb yang benar, pengidentifikasian sumber daya
dengan URL yang tepat, dan memberikan respons yang sesuai dan jelas. Dengan mengikuti
prinsip-prinsip ini, pengembang dapat membangun API yang konsisten, mudah digunakan, dan
terdistribusi dengan baik.
3. HTTP Verb
HTTP Verb (atau juga dikenal sebagai HTTP Method) pada REST API digunakan untuk
mengindikasikan tindakan yang ingin dilakukan terhadap sumber daya yang ditargetkan.
Berikut ini adalah penjelasan singkat tentang beberapa HTTP Verb yang umum digunakan
dalam REST API:
a. GET:
Digunakan untuk mengambil data dari sumber daya yang ditentukan. Permintaan GET tidak
mengubah atau memodifikasi sumber daya, hanya digunakan untuk membaca data.
Contoh penggunaan: GET /users untuk mendapatkan daftar pengguna.
b. POST:
Digunakan untuk membuat data baru pada sumber daya yang ditentukan. Permintaan POST
mengirimkan data baru yang akan ditambahkan ke sumber daya.
Contoh penggunaan: POST /users untuk membuat pengguna baru.
c. PUT:
Digunakan untuk mengganti atau memperbarui data pada sumber daya yang ditentukan.
Permintaan PUT menggantikan data yang ada pada sumber daya dengan data yang baru.
Contoh penggunaan: PUT /users/1 untuk memperbarui informasi pengguna dengan ID 1.
d. PATCH:
Digunakan untuk memperbarui data pada sumber daya yang ditentukan (biasanya hanya
sebagian dari data yang diperbarui). Permintaan PATCH hanya mengirimkan perubahan
yang diperlukan tanpa menggantikan seluruh data sumber daya.
Contoh penggunaan: PATCH /users/1 untuk memperbarui sebagian informasi pengguna
dengan ID 1.
e. DELETE:
Digunakan untuk menghapus data pada sumber daya yang ditentukan. Permintaan DELETE
menghapus sumber daya yang ditargetkan.
Contoh penggunaan: DELETE /users/1 untuk menghapus pengguna dengan ID 1.
f. OPTIONS:
Digunakan untuk mengambil informasi tentang kemampuan komunikasi di sumber daya
yang ditentukan. Permintaan OPTIONS memberikan informasi tentang metode-metode
yang didukung oleh sumber daya dan opsi-opsi yang tersedia.
Contoh penggunaan: OPTIONS /users untuk mendapatkan informasi tentang operasi yang
dapat dilakukan pada sumber daya pengguna.
Pemilihan HTTP Verb yang tepat sangat penting dalam pengembangan REST API,
karena ini akan mencerminkan tindakan yang diinginkan terhadap sumber daya dan menjaga
kesesuaian dengan prinsip-prinsip REST.
4. Response
Response (Respon) dalam konteks REST API merujuk pada pesan yang dikirimkan oleh
server sebagai respons terhadap permintaan yang diterima dari klien. Respon HTTP berisi
informasi yang dihasilkan oleh server, termasuk status code, HTTP headers, dan body.
Berikut ini adalah beberapa komponen utama dalam sebuah respon HTTP dalam konteks REST
API:
a. Status Code:
Status code adalah tanda yang mengindikasikan hasil dari permintaan yang dilakukan oleh
klien. Contoh status code umum adalah:
- 200 OK: Permintaan berhasil dan respon berisi data yang diminta.
- 201 Created: Data berhasil dibuat pada sumber daya yang ditentukan.
- 400 Bad Request: Permintaan tidak valid atau tidak dapat dipahami oleh server.
- 401 Unauthorized: Klien tidak memiliki otorisasi untuk mengakses sumber daya.
- 404 Not Found: Sumber daya yang diminta tidak ditemukan pada server.
- 500 Internal Server Error: Terjadi kesalahan pada server saat memproses permintaan.
b. HTTP Headers:
HTTP headers memberikan informasi tambahan tentang respons atau menyampaikan
instruksi/informasi khusus kepada klien. Beberapa contoh header umum adalah:
- Content-Type: Menentukan jenis media (seperti JSON, XML) yang dikirimkan dalam
respons.
- Content-Length: Menentukan panjang konten yang dikirim dalam respons.
- Cache-Control: Menentukan kebijakan cache yang harus diterapkan oleh klien atau server.
- Location: Digunakan untuk memberikan URL baru di mana sumber daya baru dibuat.
- Set-Cookie: Mengirimkan cookie kepada klien untuk menyimpan informasi sesi.
c. Body:
Body merupakan bagian yang opsional dalam respon HTTP, yang berisi data yang diminta
atau hasil operasi yang dilakukan oleh server. Data dalam body biasanya dalam format yang
disepakati, seperti JSON atau XML, dan berisi informasi yang relevan dengan permintaan
yang telah dilakukan oleh klien.
Respon HTTP yang baik harus memberikan pesan yang jelas dan deskriptif tentang hasil
permintaan yang dilakukan oleh klien. Informasi yang diberikan dalam respon membantu klien
untuk memproses data yang diterima dengan benar dan memahami status operasi yang
dilakukan oleh server.
Selain itu, dalam pengembangan REST API, penting untuk memperhatikan format dan
struktur data yang dikirim dalam respon. Mengikuti konvensi dan standar yang umum diterima
seperti menggunakan format JSON atau XML, memberikan atribut yang jelas dan deskriptif,
dan mengelompokkan data dengan baik akan meningkatkan kemudahan penggunaan dan
pemahaman API.
c. Buat Route:
Buka file routes/api.php untuk mendefinisikan rute API. Anda dapat menentukan rute dengan
menggunakan HTTP Verb dan menentukan fungsi yang akan dijalankan untuk masing-masing
rute. Contoh:
d. Buat Kontroler:
Buka terminal atau command prompt dan jalankan perintah php artisan make:controller
UserController untuk membuat kontroler UserController.
Buka file app/Http/Controllers/UserController.php dan definisikan fungsi-fungsi yang sesuai
dengan rute yang telah Anda tentukan sebelumnya. Di dalam fungsi-fungsi ini, Anda dapat
mengakses dan memanipulasi data dari database atau melakukan operasi lain yang diperlukan.
g. Jalankan Server:
Jalankan perintah php artisan serve untuk menjalankan server lokal dan mengakses API
melalui URL yang ditampilkan di terminal.
Dengan langkah-langkah di atas, Anda dapat membuat REST API dengan Laravel.
Anda dapat menambahkan lebih banyak rute, kontroler, dan logika bisnis sesuai dengan
kebutuhan aplikasi Anda. Pastikan untuk mengikuti prinsip-prinsip RESTful API seperti
menggunakan HTTP Verb yang tepat, memberikan respons yang sesuai, dan mengelola
autentikasi dan otorisasi dengan baik.