Spring Boot ile web servisleri
Spring Boot ile doğrulamalı REST uç noktaları, veritabanı erişimi ve kimlik doğrulaması olan, izlenebilir ve güvenli varsayılanlarla çalışan bir servis kurarsın.
Seviye 301 · 19 ders · 15 pratik lab
Dersler
Başlarken
- Spring Boot projesi ve otomatik yapılandırma
- Bean’ler ve bağımlılık enjeksiyonu
- REST denetleyicileri ve yanıt kodları
- Bean Validation ile girdi doğrulama
- Merkezi hata yönetimi: ControllerAdvice ve ProblemDetail
- Kısa görev: destek talebi API’si
Veri ve yapılandırma
- Spring Data JPA depoları
- Profiller, yapılandırma özellikleri ve gizli değerler
- Toplu atama hatası ve DTO kullanımı
- Dilim testleri: WebMvcTest ve DataJpaTest
- Kısa görev: talepleri veritabanına taşı ve testle
Güvenlik ve işletim
- Spring Security: kimlik doğrulama zinciri
- Rol ve sahiplik tabanlı yetkilendirme
- CSRF ve CORS ayarlarını doğru yapmak
- Actuator: sağlık uç noktaları ve açık bırakılmaması gerekenler
- Ölçümler, izleme kimliği ve günlük
- Paketleme ve güvenli çalıştırma
- Kısa görev: açık bırakılmış uç noktaları kapat
Bitirme
- Bitirme görevi: rol tabanlı yetkili varlık yönetim servisi
Pratik lablar
- Destek kaydı için REST uç noktası yazmak: Kimliğe göre kayıt döndüren denetleyiciyi yaz; bulunamayınca 404, oluşturunca Location başlığıyla 201 döndür.
- Alan enjeksiyonunu kurucu enjeksiyonuna çevirmek: Alan enjeksiyonu ve new ile kurulan bağımlılıkları kurucu enjeksiyonuna çevir; servis testi Spring bağlamı olmadan çalışmalı.
- Bean belirsizliği ve kapsam hatasını çözmek: Aynı arayüzün iki uygulaması yüzünden açılmayan ve tekil bean'de istek verisi tutarak kullanıcıları karıştıran uygulamayı düzelt.
- İstek gövdesini Bean Validation ile doğrulamak: Kayıt oluşturma isteğine boş olmama, uzunluk ve e-posta kısıtlarını ekle ve geçersiz istekte 400 döndüğünü test et.
- Hataları merkezî işleyicide ProblemDetail'e çevirmek: Dağınık try-catch bloklarını ControllerAdvice ile değiştir; alan hatalarını listeleyen, yığın izi sızdırmayan ProblemDetail yanıtı döndür.
- Alanlar arası kural için özel doğrulayıcı: Bitiş tarihinin başlangıçtan sonra olmasını denetleyen sınıf düzeyinde özel kısıt yaz; iletiyi doğru alana bağla ve doğrulama gruplarıyla güncellemede farklı kural uygula.
- Spring Data deposuna türetilmiş sorgu eklemek: Duruma ve tarihe göre kayıtları sayfalı döndüren türetilmiş sorgu metodunu ekle ve DataJpaTest ile doğrula.
- Profilleri ve yapılandırma özelliklerini düzenlemek: Dağınık Value kullanımlarını doğrulanan bir yapılandırma sınıfında topla; geliştirme ve üretim profillerini ayır ve gizli değeri ortamdan al.
- Toplu atama hatasını DTO ile kapatmak: Varlığı doğrudan istek gövdesine bağladığı için rol ve sahip alanlarının değiştirilebildiği uç noktayı giriş ve çıkış DTO'larıyla düzelt; WebMvcTest ile kanıtla.
- Güvenlik zincirinde uç noktaları korumak: Sağlık uç noktasını açık bırakıp geri kalan tüm yolları kimlik doğrulamasına bağlayan güvenlik zincirini yaz.
- Rol ve sahiplik temelli yetkilendirme: Lavinya Klinikleri'nin randevu API'sinde başkasının kaydına erişimi metot düzeyinde sahiplik denetimiyle kapat; yönetici rolüne istisna tanı ve testle doğrula.
- CSRF ve CORS ayarlarını doğru yapmak: CSRF'i tümden kapatmış ve her kökene izin veren yapılandırmayı düzelt; oturumlu formlar korunmalı, yalnızca bilinen kökene izin verilmeli ve açık kalan uç noktalar kapanmalı.
- Actuator'da yalnızca gerekeni açmak: Tüm Actuator uç noktalarını açan ayarı sağlık ve bilgiyle sınırla; ortam ve yığın dökümü uç noktalarının kapalı olduğunu test et.
- İz kimliği, günlük ve ölçüm eklemek: Her isteğe iz kimliği atayıp günlük satırlarına taşı ve kayıt oluşturma sayısı ile süresi için özel ölçüm ekle.
- Uygulamayı güvenli paketleyip çalıştırmak: Uygulamayı çalıştırılabilir JAR olarak paketle; yetkisiz kullanıcıyla, düzgün kapanış açık, gizli değerler dışarıdan verilerek çalıştır ve kapanışta süren isteğin tamamlandığını göster.
Kurs hakkında
Spring Boot ile doğrulamalı REST uç noktaları, veritabanı erişimi ve kimlik doğrulaması olan, izlenebilir ve güvenli varsayılanlarla çalışan bir servis kurarsın.
Ne öğreneceksin
- Başlarken
- Veri ve yapılandırma
- Güvenlik ve işletim
- Bitirme
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.