Prosty CRUD

Przykład prostego CRUD-a, czyli wyświetlania wszystkich elementów,  wyświetlania tylko jednego , dodawania, aktualizacji i usuwania.
Link do projektu.

Klonujemy główne repo komendą:

git clone

Następnie w folderze CRUD wykonujemy polecenie:
mvn spring-boot:run

Oczywiście musimy wcześniej musimy mieć zainstalowanego Mavena (można to zrobić np. komendą: sudo apt install maven).
Instalujemy również, np. narzędzie do testowania webowego API – Postman.
Aplikacja standardowo startuje na serwerze Tomcat na lokalnym hoście i porcie 8080.
Szkielet utworzony został za pomocą narzędzia Spring Initializr i dodana została zależność “Spring Web“. Projekt bazuje na wersji Javy 1.8.

Za wystartowanie aplikacji odpowiedzialna jest klasa Test01Application.
Dzieje się to przy pomocy adnotacji @SpringBootApplication i metody SpringApplication.run().

Naszą klasą bazową jest klasa Topic, której instancje będziemy przechowywać w aplikacji.
Złożona jest z typowych pól prywatnych, dwóch konstruktorów oraz niezbędnych getterów i setterów.

Naszą klasą serwisową będzie TopicService przed którą umieszczamy adnotację @Service.
Startowo zainicjalizowana będzie lista tablicowa z trzema elementami.
I kolejno utworzone są metody do pobierania całej listy, konkretnego elementu, dodawania, aktualizacji i usuwania.

Za komunikację REST opartą na protokole HTTP jest odpowiedzialna klasa TopicController z adnotacją @RestController.
Za pomocą adnotacji @Autowired ściagamy zależności serwisowe.
@RequestMapping() mapuje nam nam żądanie konkretnego URL-a na metodę za adnotacją.
W adnotacji tej przy pomocy {id} możemy pobrać jakąś zmienną z adresu, a następnie przy pomocy @PathVariable przekazać ją do metody.
Do konkretnych operacji zmieniamy metody HTTP z domyślnego GET, np. na POST, gdzie również będziemy pobierać przy pomocy Postmana zawartość typu application/json, przy wykorzystaniu @RequestBody.

W Postmanie wybieramy interesującą nas metodę HTTP, adres żądanego URL-a, a poniżej w zakładce Headers wprowadzamy klucz Content-type i wartość application/json. W zakładce Body natomiast w trybie surowym możemy wprowadzić dane np. do żądania typu POST.