Spring REST

Opis

Obecnie powszechnym standardem udostępniania usług jest REST API - oparta o HTTP, ugruntowana wieloletnimi wdrożeniami praktyka. Szkolenie Spring REST ma za zadanie przygotować uczestników do tworzenia REST API z wykorzystaniem Spring dostarczając praktycznej wiedzy i zbioru dobrych wzorców.

Szczegółowy program

Moduł 1.
Założenia REST
  • Koncept REST
  • Szczegóły protokołu HTTP
  • Metody HTTP
  • Topologia wyników
  • Poziomy dojrzałości
  • Konwencje tworzenia URI
  • Co znaczy RESTful
  • Hypermedia
Moduł 2.
Wprowadzenie do SpringMVC i WebFlux
  • Przegląd Spring Framework
  • Dependency Injection
  • AOP
  • Wzorzec MVC
  • Architektura SpringMVC/WebFlux
  • Komponenty SpringMVC/WebFlux
Moduł 3.
Wprowadzenie do Spring Boot
  • Koncepcja Spring Boot
  • Autokonfiguracja SpringMVC
  • Tworzenie projektu Spring Boot z poziomu spring.io
  • Tworzenie projektu z poziomu IDE (IntelliJ Ultimate)
  • Bazowy projekt REST
  • Tworzenie kontrolerów REST
  • @RestMapping, @RequestMapping, @GetMaping, @PostMapping etc.
  • Dopasowywanie ścieżek i negocjacja zawartości
  • Używanie parametrów zapytania oraz ścieżki
  • Używanie RequestEntity
  • Zwracanie wyników
  • Zwracanie wyników z użyciem ReponseEntity
  • Autokonfiguracja WebFlux
  • HttpMessageReader i HttpMessageWriter
  • Różnice w tworzeniu kontrolerów reaktywnych w odniesieniu do SpringMVC
  • Przykładowa aplikacja
Moduł 4.
Klienty REST
  • Postman
  • Użycie RestTemplate
  • API RestTemplate
  • Praca z ResponseEntity
  • Obsługa błędów dla RestTemplate
  • Użycie WebClient dla komunikacji reaktywnej
  • API WebClient
  • Obsługa błędów
  • Autentykacja z klientami REST
  • Netflix Feign Client
Moduł 5.
Obsługa błędów
  • Odpowiedzi błędów
  • Walidacja
  • Eksternalizacja komunikatów błędów
  • Własny obsługa błędów po stronie serwera (ExceptionHandler, ExceptionAdvice)
  • Własna obsługa błędów po stronie klienta RestTemplate
  • Własna obsługa błędów po stronie klienta WebClient
  • Własna obsługa błędów po stronie klienta FeignClient
Moduł 6.
Aspekty zaawansowane
  • Aukonfiguracja i własna konfiguracja źródła danych
  • Współpraca z Spring Data
  • Wersjonowanie
  • Stronicowanie
  • Sortowanie
  • Bezpieczeństwo w SpringMVC
  • Bezpieczeństwo w WebFlux
  • Testowanie z Spring Test
  • Testowanie kontrolerów
  • Testowanie z MockMVC
  • Testowanie integracyjne
Moduł 7.
Dokumentacja
  • Swagger
  • SwaggerUI
  • Dostosowanie Swaggera
  • Konfiguracja kontrolerów
  • Konfiguracja UI
Moduł 8.
HATEOAS
  • Czym jest HATEOAS
  • JSON Hypermedia Types
  • HAL

Parametry szkolenia

Czas trwania
2 x 8h
Forma zajęć
Ćwiczenia - 90%, wykład - 10%
Kod
SRE
Wielkość grupy
do 12 osób

Jak zamówić

« lista szkoleń