REST API
Materi Week 1 - Topic 2.1
Selamat Datang di Week 1, Topic 2.1
Acceleration Program by Privy
Pengantar
Detail yang akan kita bahas…
1 Definisi REST API
2 REST API Workflow
3 REST API Component
4 Quiz
2
Definisi REST API
What is API?
● API adalah singkatan untuk “Application Programming Interface”.
● API memungkinkan komunikasi dan pertukaran data antara 2 atau lebih
software/sistem yang terpisah.
3
Definisi REST API
REST API
● REST merupakan singkatan dari
“Representational State Transfer”.
● REST API adalah standar arsitektur komunikasi
berbasis web yang sering diterapkan dalam
pengembangan layanan berbasis web.
● REST API pada umumnya menggunakan HTTP
sebagai protokol komunikasi data. Nantinya,
data yang diberikan bisa berupa format text,
JSON.
4
REST API Workflow
REST API
WORKFLOW
5
REST API Component
REST API Component
API URL HTTP Response Code
HTTP Method Response Format
6
REST API Component
API URL
● API URL merupakan alamat untuk mengakses API dan berbagai fiturnya.
● Protokol ini bisa berupa HTTP atau HTTPS.
● Penamaan dan struktur URL yang konsisten akan menghasilkan API yang mudah
dimengerti developer.
7
REST API Component
API URL
[Link]
● API URL memiliki 4 bagian, yaitu :
○ Protocol : https://
○ Base URL : [Link]
○ Endpoint : api/users?
○ Parameter : page=2
8
REST API Component
HTTP Method
● Berisi metode yang dipakai saat request ke server berlangsung.
● Metode ini dipakai agar server bisa mengerti apa yang sedang di-request oleh client.
GET POST PUT DELETE
Membaca data Membuat data baru Memperbaharui data Menghapus data
yang ada
9
REST API Component
HTTP Response Code
● HTTP Response Code adalah kode Kategori Kode
standarisasi dalam menginformasikan hasil
1xx HTTP Informational Codes
request kepada client.
2xx HTTP Successful Codes
3xx HTTP Redirection Codes
4xx HTTP Client Error Codes
5xx HTTP Server Error Codes
10
REST API Component
200 OK
201 400 Bad Request
Created
HTTP
Response 401 403 Forbidden
Unauthorized
Code
404 Not 422
Found Unprocessable
Entity
500 Internal
Server Error
11
REST API Component
{
"data": {
Response Format "id": 2,
"email": "[Link]@[Link]",
"first_name": "Janet",
● Response Format adalah bentuk dari
"last_name": "Weaver",
response yang dikirim dari server. "avatar":
● Setiap request yang dilakukan client akan "[Link]
},
menerima data response dari server.
"support": {
Request dan response biasanya berupa "url":
data JSON. "[Link]
"text": "To keep ReqRes free, contributions
towards server costs are appreciated!"
}
12
Cakupan Testing
Apa saja aspek dari REST API yang perlu kita testing?
● Response Data
● Response Time
● HTTP Response Status Code
● Security
● Response Data Structure
13
Cakupan Testing
Response Data
● Testing ini bertujuan untuk mengetahui apakah Response Data sudah sesuai dengan request
yang dikirimkan.
14
Cakupan Testing
Response Time
● Testing ini berguna agar kita bisa tahu waktu yang dibutuhkan untuk response sampai ke
client. Jadi, kita bisa melihat apakah Response Time sudah sesuai atau malah melebihi dari
ketentuan yang sudah disepakati.
15
Cakupan Testing
HTTP Response Status Code
● Testing ini bertujuan untuk mengetahui apakah kode yang dikirimkan melalui response sudah
benar atau tidak.
● QA bisa mengacu pada dokumen API yang sudah dibuat oleh Back End.
16
Cakupan Testing
Security
● Testing ini berfungsi untuk memeriksa sistem keamanan.
● Untuk mengakses API URL dan mendapatkan response dari Back End, user membutuhkan
token autentikasi sebagai keamanan.
17
Cakupan Testing
Response Data Structure
● Testing ini bertujuan untuk mengetahui apakah berbagai object di dalam JSON sudah sesuai
dengan API Documentation yang dibuat oleh tim Back End atau belum.
18
Quiz
● Dibawah ini, manakah yang bukan bagian dari komponen REST API?
a. API URL
b. HTTP Response Code
c. Security
● Apa sebutan dari bagian yang dicetak tebal?
[Link]
a. Parameter
b. Protocol
c. Base URL
● Manakah yang termasuk HTTP Method?
a. GET, POST, PUT, DESTROY
b. GET, UPDATE, PUT, DELETE
c. POST, PUT, DELETE
19
Quiz
● Apa saja yang perlu ditest oleh seorang QA pada saat melakukan API Testing?
a. Response Data, Response Time, Response Status Code
b. Response Time, Response Status Code, Security
c. Response Data, Response Time, Response Status Code, Security
● Manakah dari response berikut yang diterima saat autentikasi pengguna gagal?
a. 401 Unauthorized
b. 404 Not Found
c. 400 Bad Request
20
Terima Kasih!