Co muszę zrozumieć, aby napisać Spring Rest API + JWT?

2018-11-03 12:45
0

Bardzo bym prosił o pomoc, mianowicie wypisanie czego musze się nauczyć, żeby napisać i jednocześnie wiedzieć co robię aby otrzymać API restowe w springu.
Planuję napisać API które zwraca, edytuje, usuwa lub dodaje dane korzystając z bazy danych.
Chciałbym aby API było zabezpieczony i wymagało loginu i hasła, po przeanalizowaniu stwierdziłem że najlepsze będzie JWT.
W przyszłości dodam do tego stronę internetową, póki co mam aplikacje mobilną.

Darujmy sobie punkt nauki Javy, jako tako ją rozumiem i moge w niej swobodnie pisać.
Oglądanie Hinduskich poradników na YT nic nie daje, niby aplikacja działa, ale nie wiem o co właściwie w niej chodzi.

Jakie kroki proponujecie ?

edytowany 2x, ostatnio: furious programming, 2018-11-03 13:31

Pozostało 580 znaków

2018-11-03 13:05
2

To o co pytasz to jest stworzenie typowego CRUDa. Jak chcesz lecieć od początku to musisz zrozumieć czym jest internet od postaw. Model ISO/OSI, protokół HTTP oraz TCP/IP. Następnie sesja, ciasteczka, itd. Potem jak Java realizuje to wszystko tzn czym jest Servlet, GenericServlet, HttpServlet. Po drodze musisz też zachaczyć o wielowątkowość, różnice pomiędzy procesem/wątkiem. Trywialne klasy jak Thread, volatile, blok synchronized po bardziej wysokopoziomowe api - reentrant lock, cyclic barier, countdown latch czy w końcu ThreadLocal, ExecutorService, Future i Completeable Future. Asynchroniczność vs Synchroniczność. Aplikacje sieciowe są zbudowane na wielowątkowości. Jak już to zrozumiesz. No to jedziesz dalej - spring bazuje na servlecie Dispatcher Servlet, Kontenerze IoC, programowanie aspektowe, Beany, wstrzykiwanie zależności. Po drodze pewnie bazy danych, następnie interfejs JDBC, jakiś ORM.

Ja bym polecał na początek - solidny kurs z sieci, aby dobrze zrozumieć działanie internetu oraz protokoly. Książka Java Concurrency in Practise + dokumentacja, aby zrozumieć wielowątkowość. Przydałaby się jeszcze książka, która tłumaczy jak wielowątkość jest realizowana w aplikacjach sieciowych.

Dokumentacja springa dość dobrze tłumaczy jak działa, do tego musisz znaleźć jakąś książkę do springa, jeżeli dokumentacja ci nie wystarczy. W spring in action bodajże jest wyjaśnione wszystko od A do Z - kod programu + jak działa. Do tego potrzebujesz masę praktyki, bo samej teorii bez praktycznej realizacji możesz nie zrozumieć.

Na końcu dokumentacja spring security, JWT, co to jest SQL injection, XSS, CSRF i jak się przed tym chronić.

Podsumowując - do zrozumienia teorii potrzebujesz fachowa literatury lub dokumentacji. Samo oglądanie filmików od hindusów pokaże ci jak szybko zbudować aplikację bez zrozumienia tego co robisz.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0