Yang Perlu diketahui sebelum membuat API server

Berikut metode HTTP yang umum digunakan dalam arsitektur berbasis REST.
GET, menyediakan hanya akses baca pada resource.
PUT, digunakan untuk menciptakan resource baru.
DELETE, digunakan untuk menghapus resource.
POST, digunakan untuk memperbarui resource yang ada atau membuat resource baru.
Cara Kerja REST
Sebuah client mengirimkan sebuah data atau request melalui **HTTP Request **dan kemudian server merespon melalui HTTP Response. Komponen dari http request:

1.Verb, HTTP method yang digunakan misalnya GET, POST, DELETE, PUT dll.
2.Uniform Resource Identifier (URI) untuk mengidentifikasikan lokasi resource pada server.
3.HTTP Version, menunjukkan versi dari HTTP yang digunakan, contoh HTTP v1.1.
4.Request Header, berisi metadata untuk HTTP Request. Contoh, type client/browser, format yang didukung oleh client, format dari body pesan, seting cache dll.
5.Request Body, konten dari data.

Sedangkan komponen dari http response:
1.Status/Response Code, mengindikasikan status server terhadap resource yang direquest. misal : 404, artinya resource tidak ditemukan dan 200 response OK.
2.HTTP Version, menunjukkan versi dari HTTP yang digunakan, contoh HTTP v1.1.
3.Response Header, berisi metadata untuk HTTP Response. Contoh, type server, panjang content, tipe content, waktu response, dll
4.Response Body, konten dari data yang diberikan.

HTTP Response Code
HTTP response code adalah kode standarisasi dalam menginformasikan hasil request kepada client. Secara umum terdapat 3 kelompok yang biasa kita jumpai pada RESTful API yaitu :

1.2XX : adalah response code yang menampilkan bahwa request berhasil.
2.4XX : adalah response code yang menampilkan bahwa request mengalami kesalahan pada sisi client.
3.5XX : adalah response code yang menampilkan bahwa request mengalami kesalahan pada sisi server.

Dan berikut ini adalah response code yang biasa digunakan pada REST :

200 OK
Response code ini menandakan bahwa request yang dilakukan berhasil.
201 Created
Response code ini menandakan bahwa request yang dilakukan berhasil dan data telah dibuat. Kode ini digunakan untuk mengkonfirmasi berhasilnya request PUT atau POST.
400 Bad Request
Response code ini menandakan bahwa request yang dibuat salah atau data yang dikirim tidak ada.
401 Unauthorized
Response code ini menandakan bahwa request yang dibuat membutuhkan authentication sebelum mengakses resource.
404 Not Found
Response Code ini menandakan bahwa resource yang di dipanggil tidak ditemukan.
405 Method Not Allowed
Response code ini menandakan bahwa request endpoint ada tetapi metode HTTP yang digunakan tidak diizinkan.
409 Conflict
Response code ini menandakan bahwa request yang dibuat terdapat duplikasi, biasanya informasi yang dikirim sudah ada sebelumnya.
500 Internal Server Error
Response code ini menandakan bahwa request yang dilakukan terdapat kesalahan pada sisi server atau resource.
Format Response
Setiap request yang dilakukan client akan menerima data response dari server, response tersebut biasanya berupa data XML ataupun JSON. Setelah mendapatkan data response tersebut barulah client bisa menggunakannya dengan cara memparsing data tersebut dan diolah sesuai kebutuhan.

FLASK FRAMEWORK
Setelah mengetahui tentang REST API maka di paragraf ini akan dijelaskan sedikit penggunaan dan coding REST API dengan framework Flask.

Flask adalah kerangka kerja aplikasi web mikro yang ditulis dalam bahasa pemrograman Python dan berdasarkan Werkzeug toolkit dan template engine Jinja2. Berlisensi BSD.(id.wikipedia.org)
Flask disebut micro framework karena tidak membutuhkan alat-alat tertentu atau pustaka. Flask tidak memiliki database abstraction layer, validasi form, atau komponen lain di mana sudah ada pustaka pihak ketiga yang menyediakan fungsi umum.

Namun, Flask mendukung ekstensi yang dapat menambahkan fitur aplikasi seolah-olah mereka diimplementasikan dalam Flask itu sendiri. Ekstensi yang ada untuk object-relational mapper, validasi form, penanganan unggahan, berbagai teknologi otentikasi terbuka, dan beberapa alat-lata yang terkait kerangka umum. Ekstensi diperbarui jauh lebih teratur daripada inti program Flask.

0 Response to "Yang Perlu diketahui sebelum membuat API server"