Study
← Semua Kategori

Vapor

Pengenalan Vapor

Apa itu Vapor, cara instalasi lewat Vapor Toolbox, dan cara menjalankan server pertamamu.

Routing Dasar

Mendefinisikan endpoint GET, POST, dan route parameter dinamis seperti :id.

Request & Response

Membaca informasi dari Request dan membentuk Response secara eksplisit.

Decode Request Body dengan Codable

Membaca body JSON dari request masuk dan mengubahnya jadi struct Swift lewat req.content.decode.

Encode JSON Response dengan Codable

Mengembalikan struct Codable langsung dari handler dan Vapor otomatis mengubahnya jadi JSON.

Fluent Model

Mendefinisikan model database dengan Fluent lewat protocol Model dan Content.

Fluent Migration

Mendefinisikan struktur tabel database secara terprogram lewat protocol Migration.

Fluent Query

Mengambil, memfilter, dan menyimpan data lewat query builder Fluent.

Fluent Relationship

Menghubungkan antar model lewat @Parent dan @Children.

Route Group & Middleware

Mengelompokkan route dan menerapkan middleware bersama lewat app.grouped().

Autentikasi

Mengamankan endpoint dengan ModelAuthenticatable serta autentikasi bearer token dan basic auth.

Validasi Request

Memvalidasi input pengguna secara deklaratif lewat protocol Validatable dan Validations.

Error Handling

Menangani error dan mengembalikan status HTTP yang tepat menggunakan Abort.

Async/Await di Vapor

Menulis handler route dengan sintaks async/await modern, menggantikan chaining EventLoopFuture.

Environment & Konfigurasi

Membaca variabel environment dan mengatur konfigurasi aplikasi lewat Environment.get dan configure.swift.

CORS Middleware

Mengizinkan aplikasi frontend dari domain lain mengakses API lewat CORSMiddleware.

Testing dengan XCTVapor

Menulis test otomatis untuk route dan logic aplikasi menggunakan XCTVapor.

Query Parameter & Pagination

Menangani query string untuk filter, sorting, dan pagination pada endpoint list data.

Tugas Akhir

Membangun REST API Catatan yang menggabungkan routing, Fluent, Codable, dan autentikasi.