Jestem stosunkowo nowy, jeśli chodzi o umiejętności programowania stron internetowych w Javie. Mam projekt, który moim zdaniem byłby dobrym kandydatem do usługi RESTful z tego, co niewiele rozumiem na temat interfejsów API. Próbuję zagłębić się w szczegóły tego, jak to powinno być zorganizowane, ale tak naprawdę nie docieram nigdzie pod względem wyszukiwań w Google i czytania materiałów, które już mam. Mam nadzieję, że ten post przyniesie pewne potwierdzenie i / lub przekierowanie pod względem mojej wiedzy i założeń na ten temat.
Moje obecne założenie jest takie, że moja usługa RESTful będzie miała następującą strukturę:
- Dane bazy danych (SQL).
- ORM (używam stosunkowo niepopularnego ORM o nazwie CPO, ale w przypadku większości ludzi to po prostu zastąpiłoby Hibernacja).
- Klasa menedżera Java z metodami komunikującymi się z ORM w celu uzyskania danych
- Klasa / klasy kontrolera Java, które obsługują mapowanie żądań i używają
@ResponseBody
do kierowania / obsługi adresu URL i działań związanych z przetwarzaniem danych za pomocą czasowników HTTP ( http://mysite.com/computers/dell może byćGET
żądane ze słowem „dell” w adresie URL będącym parametrem, który zwróci tablicę JSON informacji o komputerach Dell). - Ta usługa powinna być wykonywana za pomocą Spring Boot lub w jakiś sposób być w stanie działać samodzielnie i być niezależna od jakiejkolwiek innej aplikacji.
Teraz, zakładając, że powyższe jest poprawne, miałbym (na bardzo podstawowym poziomie) usługę RESTful, której każda aplikacja może użyć do konsumpcji i wykorzystania danych.
Powiedzmy, że mam swoją aplikację internetową. Załóżmy, że tworzę aplikację internetową na temat informacji o sprzęcie komputerowym i używam Springa do jej zbudowania. Oto moje założenia:
- Miałem wiele widoków jako strony JSP, przy czym strony JSP zawierały HTML, CSS i JavaScript. JavaScript obsłuży wywołania AJAX do kontrolera tej aplikacji w razie potrzeby (poniżej).
- Ta aplikacja internetowa miałaby również własny kontroler do obsługi żądań i routingu adresów URL aplikacji, a następnie kontroler użyłby, powiedzmy,
ModelAndView
obiektu lub czegoś w tym stylu do „rozmowy” z kontrolerem usługi RESTful, uzyskując wszelkie przekazywane dane , przekaż te dane z powrotem do widoku (JavaScript, JSP itp.) w celu wyświetlenia.
Czy jestem na dobrej drodze, tutaj? Rozumiem, że istnieje również aspekt uwierzytelniania usług RESTful, ale nie jestem jeszcze tam koncepcyjnie (i mój projekt będzie wykorzystywany w sieci prywatnej, więc bezpieczeństwo nie jest w tym momencie priorytetem).
Każdy wgląd, krytyka, wiedza, opinie lub wyjaśnienia są bardzo mile widziane.