Study
← Semua Kategori

Spring Boot

Pengenalan Spring Boot

Apa itu Spring Boot, cara instalasi lewat Spring Initializr, dan cara menjalankan project pertamamu.

@RestController & @GetMapping Dasar

Mendaftarkan endpoint lewat class ber-annotation @RestController, method-nya ditandai @GetMapping.

@PathVariable: Route Parameter

Menerima parameter dinamis dari URL lewat annotation @PathVariable.

@RequestParam: Query String

Mengambil data dari query string lewat annotation @RequestParam.

@RequestBody & DTO

Membaca body JSON request lewat annotation @RequestBody, dipetakan otomatis ke class DTO.

Response: ResponseEntity

Mengatur status code dan header response secara eksplisit lewat ResponseEntity.

Dependency Injection: @Autowired & Constructor Injection

Menyuntikkan Service ke Controller lewat constructor, cara yang paling direkomendasikan.

@Service & @Repository: Layering

Memisahkan tanggung jawab lewat tiga layer: Controller (HTTP), Service (logika bisnis), Repository (akses data).

Spring Data JPA: @Entity & Repository

Mendefinisikan tabel lewat @Entity, dan Repository interface yang otomatis punya method CRUD tanpa implementasi manual.

Spring Data JPA: Query Methods & JPQL

Query custom cukup lewat penamaan method (query derivation), atau JPQL lewat @Query untuk kasus kompleks.

Spring Data JPA: Relationship

Relasi antar Entity lewat @OneToMany dan @ManyToOne, mirip Doctrine/TypeORM.

Validasi: @Valid & Bean Validation

Validasi otomatis DTO lewat annotation Bean Validation (@NotBlank, @Size, dst) dan @Valid di parameter Controller.

Exception Handling: @ControllerAdvice

Menangani error secara terpusat di seluruh aplikasi lewat class ber-annotation @ControllerAdvice.

CRUD REST API Lengkap

Menggabungkan Controller, Service, Repository, dan validasi jadi endpoint CRUD lengkap.

application.properties/yml: Configuration

Mengelola konfigurasi aplikasi lewat application.properties (atau application.yml), dibaca lewat @Value.

Filter & Interceptor Dasar

Kode yang dijalankan sebelum request sampai ke Controller lewat Filter (level servlet) atau Interceptor (level Spring MVC).

CORS

Mengizinkan request dari domain/origin berbeda lewat @CrossOrigin atau konfigurasi global WebMvcConfigurer.

Swagger/OpenAPI dengan springdoc

Dokumentasi API interaktif otomatis lewat library springdoc-openapi.

Tugas Akhir

Latihan akhir menggabungkan Controller, Service, Repository, dan validasi dalam satu REST API Catatan.