Programista Java
Projektuj funkcje backendu w Java i Spring. Poznaj kontrakt HTTP, walidację, transakcje, obsługę błędów i odbiór zmian.
Kompendium zawodu — pojęcia i zwroty
Pojęcia w pracy
- Kontroler
- Punkt wejścia przyjmujący żądanie i zwracający odpowiedź.
- DTO
- Obiekt opisujący dane przekazywane przez granicę systemu.
- Transakcja
- Grupa zmian w bazie, które mają zostać zatwierdzone razem.
- Wyjątek domenowy
- Sygnał, że operacja naruszyła regułę procesu biznesowego.
- Idempotencja
- Własność operacji, której powtórzenie nie powiela skutku.
Zwroty w typowych sytuacjach
- „Ustalmy kontrakt odpowiedzi przed zmianą implementacji.”
- Chronisz aplikacje korzystające z usługi.
- „Ten warunek sprawdzę w warstwie reguł zamówienia.”
- Oddzielasz walidację formatu od decyzji biznesowej.
- „Zapis zamówienia i pozycji powinien mieć jedną granicę transakcji.”
- Ustalasz spójność powiązanych danych.
Podstawy · Lekcja 1 z 6
Kontrakt żądania i odpowiedzi
Kontroler odczytuje wejście i wywołuje właściwą operację. DTO opisuje pola widoczne dla klienta. Zapisz zachowanie w normalnym przebiegu i dla danych niepoprawnych.
- Co zrobić najpierwUstal wejście
- Co zrobić dalejZaprojektuj odpowiedź
- Jak zakończyćZapisz wyjątki
Przykład z pracy
Odczyt zamówienia zwraca DTO pozbawione wewnętrznej notatki pracownika.
Ćwiczenie praktyczne
Rozpisz pola wyjściowe i odpowiedzi dla zamówienia znalezionego i brakującego.
Sprawdź się — opcjonalne pytanie
Co określa umowa API?
- Nazwy prywatnych pól klasy
- Dane wejściowe, widoczną odpowiedź i uzgodnione błędy
- Położenie serwera w biurze
Pokaż odpowiedź i wyjaśnienie
Dane wejściowe, widoczną odpowiedź i uzgodnione błędy. Umowa opisuje to, na czym może polegać klient usługi.
Podstawy · Lekcja 2 z 6
Walidacja formatu i reguły domenowe
Format sprawdza typ i kompletność danych. Reguła domenowa ocenia operację w aktualnym stanie. Komunikat wyjaśnia sposób reakcji bez ujawniania wewnętrznych szczegółów.
- Co zrobić najpierwSprawdź format
- Co zrobić dalejOdczytaj stan
- Jak zakończyćZastosuj regułę
Przykład z pracy
Poprawny kod przesyłki nadal nie pozwala edytować zamkniętego zamówienia.
Ćwiczenie praktyczne
Podziel przyczyny odrzucenia zmiany adresu na błędy formatu i stanu.
Ponowienie zapisuje drugie zamówienie
Pierwsze wywołanie zapisuje zamówienie, lecz odpowiedź nie dociera. Klient wysyła ten sam identyfikator operacji.
Pokaż przykładową reakcję
Zwracam istniejący wynik po potwierdzeniu zgodności żądania. Klient odzyskuje odpowiedź bez powielania skutku.
Sprawdź się — opcjonalne pytanie
Który problem wynika z reguły biznesowej?
- Pole adresu nie ma wymaganej wartości
- Data ma błędny format
- Zamówienie zakończono i adresu nie można zmienić
Pokaż odpowiedź i wyjaśnienie
Zamówienie zakończono i adresu nie można zmienić. Reguła zależy od stanu procesu, nawet przy poprawnych danych wejściowych.
Praca krok po kroku · Lekcja 3 z 6
Zapis wielu elementów i transakcja
Ustal, które zmiany tworzą jeden skutek. Jeśli zapis pozycji nie powiedzie się, przejrzyj oczekiwane wycofanie zmian. Dla komunikatów i systemów zewnętrznych zaplanuj osobny sposób obsługi niepowodzenia.
- Co zrobić najpierwZdefiniuj skutek
- Co zrobić dalejUstal granicę
- Jak zakończyćObsłuż błąd
Przykład z pracy
Nagłówek zamówienia i pozycje są zapisywane razem, a integracja otrzymuje zdarzenie po potwierdzonym zapisie.
Ćwiczenie praktyczne
Narysuj granicę transakcji dla utworzenia zamówienia i wysłania potwierdzenia.
Sprawdź się — opcjonalne pytanie
Po co wspólna transakcja dla nagłówka i pozycji?
- Żeby uniknąć zapisu zamówienia bez powiązanych pozycji
- Żeby przyspieszyć wyświetlanie formularza
- Żeby ukryć błąd przed monitoringiem
Pokaż odpowiedź i wyjaśnienie
Żeby uniknąć zapisu zamówienia bez powiązanych pozycji. Zatwierdzenie obejmuje spójny zestaw powiązanych zmian.
Praca krok po kroku · Lekcja 4 z 6
Informacja o błędzie i diagnoza
Oddziel odpowiedź dla użytkownika od danych potrzebnych zespołowi. Nadaj zdarzeniu identyfikator i zapisuj zwięzły kontekst bez danych wrażliwych. Ustal, które wyjątki są spodziewane.
- Co zrobić najpierwZwróć komunikat
- Co zrobić dalejZapisz identyfikator
- Jak zakończyćOdszukaj etap
Przykład z pracy
Obsługa zgłasza identyfikator błędu. Programista odnajduje etap zapisu bez ujawniania treści zamówienia.
Ćwiczenie praktyczne
Przygotuj komunikat użytkownika i osobny zakres pól do dziennika.
Sprawdź się — opcjonalne pytanie
Co pozwala połączyć komunikat z właściwym zdarzeniem?
- Cały formularz klienta w adresie URL
- Identyfikator korelacji
- Kolor komunikatu
Pokaż odpowiedź i wyjaśnienie
Identyfikator korelacji. Wspólny identyfikator ułatwia diagnozę przy małym zakresie danych.
Trudniejsze sytuacje · Lekcja 5 z 6
Ponowienie i zapis współbieżny
Zdefiniuj zakres i ważność identyfikatora operacji. Zapisz stan w miejscu, które zapewnia spójne rozstrzygnięcie współbieżnych żądań. Ustal reakcję przy tym samym kluczu i innych danych.
- Co zrobić najpierwRozpoznaj klucz
- Co zrobić dalejPorównaj zawartość
- Jak zakończyćZwróć wynik
Przykład z pracy
Drugie żądanie po chwilowej utracie połączenia odczytuje status pierwszego zapisu.
Ćwiczenie praktyczne
Rozpisz trzy wyniki: pierwsze żądanie, zgodne ponowienie, konflikt danych.
Sprawdź się — opcjonalne pytanie
Co powinno nastąpić po zgodnym ponowieniu zakończonej operacji?
- Zawsze utworzenie kopii zamówienia
- Nadpisanie poprzednich danych z pominięciem walidacji
- Zwrócenie uzgodnionego wyniku bez ponownego skutku
Pokaż odpowiedź i wyjaśnienie
Zwrócenie uzgodnionego wyniku bez ponownego skutku. Klucz operacji jest powiązany z pierwotnym skutkiem.
Trudniejsze sytuacje · Lekcja 6 z 6
Zmiana kontraktu i odbiór
Sprawdź, którzy klienci używają pola i jak reagują na nową wartość. Uzgodnij przejście ze starego formatu oraz warunek wycofania. Odbieraj zachowanie przez interfejs używany przez klienta.
- Co zrobić najpierwUstal klientów
- Co zrobić dalejSprawdź przebieg
- Jak zakończyćWdrażaj zgodnie z planem
Przykład z pracy
Starsza aplikacja ignoruje pole opcjonalne, ale nie rozpoznaje zmienionego znaczenia statusu.
Ćwiczenie praktyczne
Napisz plan wprowadzenia nowego pola i wycofania, gdy starszy klient zgłasza błąd.
Sprawdź się — opcjonalne pytanie
Jaki dowód potwierdza zgodność z dotychczasowym klientem?
- Klient wykonuje swój przebieg i interpretuje odpowiedź zgodnie z umową
- Nowa wersja kompiluje się bez ostrzeżeń
- Lista klas wygląda jak przed zmianą
Pokaż odpowiedź i wyjaśnienie
Klient wykonuje swój przebieg i interpretuje odpowiedź zgodnie z umową. Zgodność dotyczy zachowania widocznego na granicy systemu.