Pamiętacie wpis o najlepszych praktykach REST’owych? Jedną z wyszczególnionych tam praktyk było dokumentowanie naszego API. Wymieniłem tam także kilka najpopularniejszych rozwiązań. Jedno z nich, czyli Swagger opisałem już na blogu w artykule #10 Spring Boot – Swagger2 – dokumentujemy API. Dziś czas na kolejne podejście do dokumentacji, tym razem od strony testów. Test Driven Documentation jest techniką,
spring boot
#17 Spring Boot – Distributed tracing – Zipkin i Sleuth
Każdy z nas, korzystając z architektury microserwisów posiada kilka usług które “rozmawiają” ze sobą. Jedna logiczna operacja, na przykład zakup czegoś w sklepie to tak na prawdę odwiedzenie kilku serwisów. Niestety podczas zakupu wystąpił błąd. Jak dowiedzieć się teraz w którym miejscu coś poszło nie tak? Można wchodzić po SSH na maszyny i robić grepa z tailem i szukać słówka Error ale jest to robota ręczna i męcząca.
#16 Spring Boot – Cloud Config
Spring Cloud we współpracy z Netflixem w bardzo pozytywny sposób ułatwiają pracę w architekturze mikroserwisów. Dostarczają oni wiele mechanizmów które pozwalają spełnić założenia jakie stawia poprawne tworzenie mikroserwisów. Pierwszym narzędziem Cloudowym który przedstawię jest Cloud Config.
#15 Spring Boot – POST, PUT czy PATCH?
Tak na prawdę ten artykuł niekoniecznie musi być związany ze Spring Bootem, jednakże posłuży mi on jako realizacja tego zagadnienia. Projektując API REST’owe powinniśmy zwracać uwagę na wiele elementów. Odpowiedni dobór nazw dla endpointów czy korzystanie z kodów odpowiedzi HTTP świadczy o dobrze zaprojektowanym API. Ważnym element jest także korzystanie z metod HTTP do obsługi zasobów.
#14 Spring Boot – logowanie przez media/portale społecznościowe
Media społecznościowe zawładnęły XXI wiekiem. Ciężko wyobrazić nam sobie aplikację, w której nie możemy zalogować się za pomocą Facebook’a lub Twitter’a. Dlatego właśnie przygotowałam krótki wpis, dzięki któremu dowiecie się jak szybko i łatwo można zaimplementować takie logowanie w kodzie swojej aplikacji wykorzystując Spring Boot’owe biblioteki.
#13 Spring Boot – Własne properties
Gdy potrzebujemy zrobić jakąś funkcjonalność opcjonalną lub nie chcemy hardkodować danych w aplikacji powinniśmy użyć własny plików properties. Spring Boot dostarcza bardzo sprytny mechanizm do obsługi nowy properties wraz z podpowiedziami.
#12 Spring Boot – Sensitive Actuator
W poprzednim wpisie opisałem endpointy, które były insensitive. Oznacza to, iż nie wymagały logowania. Dziś przedstawię wam pozostałą część. Pakiet Spring Boot Acutator oferuje całą gamę ciekawych rozwiązań. Zapraszam do czytania.
#11 Spring Boot – Insensitive Actuator
Jednym z głównych założeń Spring Boot’a jest to, aby był on production ready. Autorzy frameworku poprzez production ready rozumieli między innymi to, iż aplikacja dostanie metryki out-of-the-box. Aby dodać metryki do swojego projektu wystarczy dodać jedną pozycje w mavenowych zależnościach. Nazywa się ona Actuator.
Apache Solr – Autocomplete – podpowiadanie wyszukiwania
Zgodnie z wcześniejszymi zapowiedziami pokaże wam dziś jak stworzyć podpowiadanie wyszukiwanych fraz podobnie jak działa to w wyszukiwarce Google. Wykorzystam do tego mechanizmy Facety, które są elementem Apache Solr’a i z których można z powodzeniem korzystać w Spring Boot’cie.
#10 Spring Boot – Swagger2 – dokumentujemy API
Aktualnie modną architekturą wśród systemów informatycznych są mikroserwisy. Najczęściej komunikują się one poprzez API REST’owe, które wykorzystuje notacje JSON. Często systemy te składają się z wielu mikroserwisów, które rozwijane są poprzez różne teamy w firmie. Jednym ze sposobów komunikacji pomiędzy teamami jest dokumentowanie całego API REST’owego. Narzędziem, które bardzo ułatwia dokumentowanie naszego API jest Swagger.