Aby uruchomić aplikacje należy folderze zawierającym pom.xml
użyć polecenia
mvn spring-boot:run
Aby uruchomić testy to w tym samym folderze należy użyć polecenia
mvn test
- POST /article
Endpoint przyjmuje Article ( dokładny opis niżej )
- PUT /article
Endpoint przyjmuje Article ( dokładny opis niżej )
Przesyłając model to tego enpointu należy podać id. Jeżeli artykuł z takim id nie istnieje zostanie zwrócony wyjątek.
- GET /article/all
Endpoint zwracający wszystkie artykuły posortowane pod dacie wydania malejąco
- GET /article/{id}
Endpoint zwracający artykuł o podanym id. Jeżeli artykuł z danym id nie istnieje to zostanie zwrócony wyjątek.
Przykład:
/article/1
- GET /article/keyword/{keyword}
Endpoint który zwraca wszystkie artykuły, które zawierają podany keyword w tytule lub treści.
Przykład:
/article/keyword/przyklad
Zwróci wszystkie artykuły, które zawierają przykład w tytule lub treści.
- DELETE /article/{id}
Endpoint który usuwa artykuł o podanym id. Jeżeli id jest niepoprawne lub taki artykuł nie istnieje to zostanie zwrócony wyjątek.
Przykład:
article/1
Article
pole | typ danych | walidacja |
---|---|---|
id | long | Wymagane tylko podczas aktualizacji |
magazineName | string | Maksymalnie 500 znaków, nie może być puste lub być NULL |
publicationDate | localDate | Nie może być NULL |
articleContent | obiekt | Nie może być NULL |
author | obiekt | Nie może być NULL |
ArticleContent
pole | typ danych | walidacja |
---|---|---|
title | string | Maksymalnie 500 znaków, nie może być puste lub być NULL |
body | string | Maksymalnie 10000 znaków, nie może być puste lub być NULL |
Author
pole | typ danych | walidacja |
---|---|---|
name | string | Maksymalnie 200 znaków, nie może być puste lub być NULL |
lastName | string | Maksymalnie 200 znaków, nie może być puste lub być NULL |
- Przykładowy JSON do stworzenia artykułu
{ "author":{ "name": "Jane", "lastName": "Doe" }, "articleContent":{ "title": "Some nice article title", "body": "Very interesting article body" }, "publicationDate": "2021-01-01", "magazineName": "Popular magazine name" }
- Przykładowy JSON do aktualizacji artykułu
{ "id": 1, "author":{ "name": "Jane", "lastName": "Doe" }, "articleContent":{ "title": "Updated title!", "body": "And changed body" }, "publicationDate": "2021-01-01", "magazineName": "Popular magazine name" }