Uncategorized

Catatan Ruang Kelas DevOps 25/Okt/2025 – DevOps Langsung dari Quality Thought


Kebutuhan akan Istirahat API

HTTP

  • Protokol HTTP berjalan melalui TCP
  • Protokol HTTP memerlukan koneksi dan memang demikian
    • Meminta:
      • URL
      • Metode/Kata Kerja
      • Header
      • Tubuh
    • Tanggapan
      • Kode status
        • 1xx (informasi)
        • 2xx (sukses)
        • 3xx (Pengalihan)
        • 4xx (kesalahan sisi klien)
        • 5xx (kesalahan sisi server)
      • Header
      • Tubuh

API yang tenang

  • API yang tenang bukanlah sebuah protokol, melainkan sebuah praktik atau pendekatan yang direkomendasikan
  • Restful API (Rest API atau API) memiliki prinsip

Prinsip Desain REST API – Langkah demi Langkah


Langkah 1: Arsitektur Klien-Server

Prinsip: Pemisahan kekhawatiran
Keterangan:
REST membagi tanggung jawab – klien menanganinya antarmuka pengguna (UI/UX)sementara server mengelola data dan logika bisnis. Hal ini memungkinkan keduanya berkembang secara mandiri.
Contoh:
Permintaan aplikasi web (klien). <code>/api/doctorsdan server merespons dengan data JSON.


Langkah 2: Keadaan Tanpa Kewarganegaraan

Prinsip: Tidak ada status sesi di server
Keterangan:
Setiap permintaan klien harus berisi semua informasi yang diperlukan agar server dapat memprosesnya. Server tidak menyimpan konteks sesi antar permintaan.
Contoh:
Setiap permintaan menyertakan token otentikasi (misalnya, JWT di header).


Langkah 3: Kemampuan cache

Prinsip: Aktifkan caching jika diperlukan
Keterangan:
Respons harus menentukan apakah respons dapat disimpan dalam cache untuk ditingkatkan kinerja dan skalabilitas.
Contoh:
Header HTTP seperti Cache-Control: max-age=3600 memberi tahu klien berapa lama mereka dapat menyimpan respons dalam cache.


Langkah 4: Antarmuka Seragam

Prinsip: Interaksi yang konsisten antara klien dan server
Keterangan:
Antarmuka yang seragam menyederhanakan interaksi dan memisahkan klien dari server. REST mencapai hal ini melalui konvensi yang konsisten.
Contoh:
Gunakan metode HTTP standar (GET, POST, PUT, DELETE) dan URI sumber daya yang terdefinisi dengan baik.


Langkah 5: Sistem Berlapis

Prinsip: Gunakan lapisan independen
Keterangan:
Sistem REST dapat mencakup banyak lapisan seperti keamanan, penyeimbangan bebanDan server aplikasi. Setiap lapisan beroperasi secara independen tanpa memerlukan visibilitas penuh ke lapisan lainnya.
Contoh:
Proksi atau gateway menangani autentikasi sebelum meneruskan permintaan ke API backend.


Langkah 6: Kode Sesuai Permintaan (Opsional)

Prinsip: Perluas fungsionalitas klien secara dinamis
Keterangan:
Server dapat mengirimkan kode yang dapat dieksekusi (seperti JavaScript) ke klien untuk memperluas perilaku mereka. Ini opsional dan jarang digunakan di API modern.
Contoh:
Server mengirimkan cuplikan JS untuk dieksekusi oleh browser.


Langkah 7: Berbasis Sumber Daya (Berorientasi Kata Benda)

Prinsip: Fokus pada sumber dayabukan tindakan
Keterangan:
REST API mewakili sumber daya (kata benda) dan bukan tindakan (kata kerja). Metode HTTP menentukan tindakan pada sumber daya ini.
Contoh:
/api/patients/123 alih-alih /api/getPatient?id=123

Membangun API Istirahat dalam bahasa Inggris yang sederhana

  • Identifikasi kata benda & kata kerja.
  • Kata benda menjadi Sumber Daya, Kata Kerja menjadi metode atau sub sumber daya
  • Metode:
    • MENDAPATKAN: Retrive or select
    • MASUKKAN/PATCH: update
    • POS: create
    • MENGHAPUS: delete
  • Titik akhir:
    • Sumber daya yang disebut sebagai pengguna
      • /api/v1/users
        • DAPATKAN: Dapatkan semua pengguna
        • POST: Buat pengguna baru
      • /api/v1/users/1
        • DAPATKAN: Dapatkan pengguna dengan id 1
        • PATCH/POST: Perbarui info pengguna
        • HAPUS: Hapus pengguna
      • /api/v1/users/1/orders:
        • DAPATKAN: Dapatkan semua pesanan pengguna dengan 1
        • POST: Buat pesanan untuk pengguna dengan id 1
  • Untuk menggunakan REST API, Dokumentasi perlu dipublikasikan untuk ini yang kami miliki
  • Untuk menguji api kami menggunakan alat yang disebut tukang pos

LEBAH

  • Kami memiliki dua tipe pada catatan yang lebih besar

Mengkonsumsi API dari python

  • Mari buat proyek baru dan tambahkan ketergantungan requests
import requests

BASE_URL = "https://petstore.swagger.io/v2"
PETS_URL = f"{BASE_URL}/pet"


def get_all_pets(status:str="available"):
    PET_STATUS_URL = f"{PETS_URL}/findByStatus?status={status}"
    response = requests.get(
        PET_STATUS_URL,
        timeout=30)
    print(response)

    pets = response.json()
    for pet in pets:
        if 'id' in pet and 'name' in pet:
            print(f"{pet['id']} <==> {pet['name']}")
        else:
            print(pet)


if __name__ == "__main__":
    get_all_pets()

  • Latihan: Buat fungsi python sederhana untuk menggunakan api produk dari sini

Membangun Restful Apis menggunakan fastapi



Catatan Ruang Kelas DevOps 25/Okt/2025 – DevOps Langsung dari Quality Thought

Leave a Reply

Your email address will not be published. Required fields are marked *