Od ogółu do szczegółu - Spring Data Rest

Abstract

GETy, POSTy, PUTy, wyszukiwanie, paginacja.
Ile razy można pisać "tego samego" CRUDa?
Na tej prezentacji pokażę wam jak za pomocą jednej annotacji,
zrobić z modelu sytego paginowalnego i wyszukiwalnego CRUDa.
Dowiecie się również ile code debtu zarobicie przez taką decyzje
i jak niewygodnie jest go spłacać.
Pokażę wam jak zrobić to lepiej idąc odwrotnie - od szczegółu do ogółu. 

Conspect

  1. Spring Data Rest
    1. Jak go użyć
    2. Co daje
      1. GET, PUT, POST, PATCH
      2. HATEOAS out of the box
      3. Paginacja i szukanie
    3. Customizacja
      1. Walidacja
      2. Omijanie pól
      3. Działania przed i po
    4. Minusy
      1. Mieszanie konfiguracji API i Bazy
      2. Nieintuicyjny kod używający magii frameworka
      3. Nikt tego nie zna lol
  2. Spring Zwykły
    1. Jak to zrobić dobrze
      1. GET
        1. Kotlin - by szybko tworzyć DTO
        2. Controller - który używa PagingAndSearch
        3. Repository - który używa PagingAndSearch i jest generowany z nazwy
      2. POST
        1. Tak samo tylko prościej
    2. Plusy
      1. Kod w miare prosty i czytelny
      2. Można refaktoryzować backend bez psucia Controllerów
      3. Zawsze można dodać kolejną warstwe abstrakcji i lecieć hexagonem
Meta
b2a2213c-85ff-495d-add8-8e0b9dd67d73