Sunday, November 29, 2015

Learn REST with Spring

The popularity of REST-style APIs is not decreasing so a good knowledge in this architecture style becomes essential in many projects. In Java, there are many frameworks that you as a developer can utilize in order to build a REST-style API, with Spring MVC as one of the most popular. If you wish to learn how to work effectively with REST in Spring you definitely need some good learning materials.

My Motivation

I have been given a chance to take REST With Spring video course on baeldung.com. I was invited by Eugen Paraschiv, the author of the course, to be a part of the affiliate program and help promoting the course. I decided to help and this is why:

  • I am regular reader of bealdung.com and I like he content published over there,
  • I am Spring MVC practitioner, so this course was definitely interesting to me,
  • I got access to several hours of good quality video material,
  • I can earn some money if you click the link and enroll for the course.

Course Language

I started with REST with Spring: The Starter Class course. The first thing that caught my attention was the language. This may sound strange. But when I look for a video course (e.g. Udemy, Pluralsight) I always check if the course is led by a professional with good English skills. This is especially important for the courses led by non-native English instructors. As you may know, Eugen Paraschiv is not a native speaker. But after the first minutes I concluded that I am able to spent several hours listening to him: I am fine with the accent, the speed and the clearness of expressing thoughts. That is already a good start.

Course Organization

Each class is divided into courses, each course has a skeleton project to be downloaded. Each course is further divided into the modules. The module page has a video, module notes, usually a transcript and (very useful) resources links.

Course Content

The course touched many practical topics of building a complete web application in Spring using REST architectural style. You will learn about REST theory and how to put the theory in practice. The course is organized the way that is easy to understand and follow. The theory is shown and experienced via many practical examples.

The course brings all the topics needed to build a production-ready Spring application. All the important aspects of building Spring applications are included: starting from the basics and going through testing, security, documenting, monitoring, consuming with AngularJS and ending up with the deployment (part of the Master Class).

Project / Examples

You will be dealing with all the aspects of building the application: from creating a 2-module Maven project in the REST with Spring: The Starter Class and ending up with (5-module) secure, documented and tested REST API with AngularJS client in REST with Spring: The Intermediate Class. A complete reference, in my opinion.

During the course, the instructor uses Eclipse (STS) to walk you through the examples. If you are an Eclipse user, you will learn how to use the IDE with Spring project properly.

On the other hand, since the project is Maven-based, you should not have any problem using IntelliJ IDEA. Throughout the course I worked with IntelliJ

Summary

I am more than happy to recommend the Build Your REST API with Spring course on baeldung.com. This is one of the best technical course on Java and Spring I found so far. I am a regular guest of Udemy and Plurasight and I did not find any course over there that covers in such a detail the topic of building REST applications with Spring.

The content of the course is definitely more than REST with Spring and I would recommend it to anyone looking for a good Spring learning resources.

Affiliate Link to "Build Your REST API with Spring" course page (I can earn some bucks if you click one of the links and enroll for the course):

Build Your REST API with Spring

4 comments:

  1. Hej Rafale! Dzięki za wpis. Kilka uwag ze stricte mojej perspektywy, z którymi uczyń, co zechcesz (zignorowanie jest OK):

    1) Hołduję zasadzie "powiedz im co im powiesz, powiedz im, powiedz im co im powiedziałeś". We wstępie brakło mi informacji czemu polecasz kurs, w podsumowaniu mam taką "jeden z najlepszych kursów 'out there'". Pod koniec recenzji nie wiem na czym się opierasz w tym stwierdzeniu. Sprawdziłeś 5k kursów i ten bije 90% na głowę? A może sprawdziłeś 5 i ten jest porównywalny z nimi?

    2) Często szkolę ludzi, którzy Springa nigdy nie mieli okazji użyć. Z doświadczenia z nimi, to co napisałeś, może nie wystarczyć, by wyrobili sobie inną opinię niż "Rafał to poleca". Czy sięgną po kurs? Zależy od tego jak dobrze Cię znają. :-) Im przydałoby się więcej danych do podjęcia decyzji (np. ile podobnych kursów tam jest, jak ten kurs się ma do oficjalnych, jakie inne kursy - zwłaszcza oficjalne i popularne - możesz do nie go porównać i jak to porównanie wypada, itp.). Nie oznacza to, że musisz dodać te informacje. Po prostu ludzie szukający informacji o Springu jako nowicjusze springowi by ich potrzebowali. Czy są Twoim celem czy nie, inna sprawa.

    3) Długość wpisu jest w sam raz dla mnie. :-) Przeczytałem jednym cięgiem, w trakcie pisania przeczytałem jeszcze kilka razy, tak na raz. Bardzo to miłe, dziękuję.

    4) Twoje linki są czerwone. Na Wiki rozmaitych to znaczy "strona jeszcze nie utworzona, kliknij by utworzyć". Najwyraźniej na tyle często odwiedzam Wiki, że Twoje linki automatycznie zostały przeze mnie podciągnięte pod kategorie "martwych".

    5) Link do kursu (pierwszy) prowadzi na gumroad.com, a piszesz, że to z baeldung.com? Daje to chwilę wątpliwości, czy powinno się kliknąć. Baeldung.com nie jest podlinkowane z Twego wpisu ani razu. Czy padłeś ofiarą hakowania i ktoś podmienił linki? Nawet jeśli nie, możesz chcieć wspomnieć, że serwery są powiązane (jeśli są) i osobno podlinkować baeldung, bo pełzacze sieciowe wezmą to pod uwagę i podniosą ich pozycje w rankingach (oczywiście, jeśli lubisz tę stronę!).

    6) Nagłówki
    Motivation - może lepsze "My motivation"? Na początku zacząłem to czytać jako "dlaczego powinieneś uczyć się RESTów ze Springiem".

    Organization i Language, ale Course Content? To może Course Organization, Course Content i Course Language? Natychmiast jasne jest, które części są stricte o kursie.

    7) Językowe (około)
    you as developer - you as a developer (a)
    course has an project skeleton - course has a skeleton project (a, odwrócenie słów)

    8) Crux recenzji
    Wg mnie to sekcje o treści i projekcie/przykładach. Nie jestem po ich lekturze pewny, co jest w programie podstawowym, średnim i mistrzowskim. Nie jestem pewien, dlaczego piszesz, że prosto to załapać, jest dobrze ustrukturyzowane itp. Innymi słowy: jest trochę Twoich opinii i mało uzasadnień. Co jest OK, ale mi nie pomaga z wyborem. Tak, DTW.

    Podsumowując:
    Dziękuję za lekturę. na kursy zerknę w wolnej chwili (wylądowały na półce "jak masz czas lub potrzebę, zerknij tutaj"). Szybko i prosto było to przeczytać (co jest zaletą i za co dziękuję).

    ReplyDelete
    Replies
    1. Zapomniałem dodać! Uśmiechnąłem się czytając ostatni punkt motywacji. Szczerość to dobra rzecz i natychmiast zachęciło mnie to do czytania Twego bloga. :-)

      Delete
    2. Miło. Uważam, że trzeba być otwartym. Sam nie lubię nachalnej reklamy i wciskaniem kitu na siłę. Chcę, aby ktoś kto klika w link afiliacyjny robił to świadomie. Nie jest moim celem naciąganie.

      Dzięki!

      Delete
    3. Dzięki za komentarz do artykułu.

      1. Zgadza się. Nie jest to najtrafniejsze podsumowanie. Zmieniłem to, ale nadal na krótko:

      "This is one of the best technical course on Java and Spring I found so far. I am a regular guest of Udemy and Plurasight and I did not find any course over there that covers in such a detail the topic of building REST applications with Spring."

      2 i 3. Wpis miał być krótki i zachęcający do przeczytania. Nie jestem najlepszym reviewerem - co całkiem nieźle wypunktowałeś.

      4. Ups. Szczęśliwie to rzecz gustu :)

      5. Poprawiłem się. Dzięki. Zdjąłem linki z całego artykułu, na dole dodalem info, że to link afiliacyjny. Mam nadzieję, że wystarczy.

      6. Dobra sugestia. Done.

      7. Done.

      8. Do przemyślenia.

      Wielkie dzięki za komentarz i podpowiedzi!

      Delete