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.