Sono relativamente nuovo in termini di capacità di sviluppo web Java. Ho un progetto che penso sarebbe un buon candidato per un servizio RESTful da quel poco che capisco sulle API. Sto cercando di entrare nei dettagli di come dovrebbe essere strutturato, ma di non arrivare davvero da nessuna parte in termini di ricerche su Google e leggere il materiale che già ho. Spero che questo post produca un po 'di validazione e / o reindirizzamento in termini di mie conoscenze e ipotesi su questo argomento.
La mia ipotesi attuale è che il mio servizio RESTful avrà la seguente struttura:
- Database Database (SQL).
- Un ORM (sto usando un ORM relativamente impopolare chiamato CPO, ma questo sarebbe semplicemente sostituito con Hibernate con la maggior parte delle persone).
- Una classe manager Java con metodi che parlano all'ORM per ottenere i dati
- Una classe / classi di controller Java che gestisce il mapping delle richieste e utilizza
@ResponseBody
per dirigere / gestire l'URL e le azioni su come i dati vengono gestiti tramite verbi HTTP ( http://mysite.com/computers/dell potrebbe essereGET
richiesto con la parola "dell" essendo l'URL un parametro che restituirà una matrice JSON di informazioni sui computer dell). - Questo servizio dovrebbe essere realizzato con Spring Boot, o in qualche modo essere in grado di stare da solo ed essere indipendente da qualsiasi altra applicazione.
Ora supponendo che quanto sopra sia corretto, allora avrei (a un livello molto semplice) un servizio RESTful che qualsiasi applicazione può utilizzare per consumare e utilizzare i dati.
Quindi dì che ho la mia applicazione web. Diciamo che sto realizzando un'app Web sulle informazioni sull'hardware del computer e sto usando Spring per creare questa app web. Ecco i miei presupposti:
- Avrei un sacco di punti di vista come JSP, con i JSP con HTML, CSS e JavaScript inclusi. JavaScript gestirà le chiamate AJAX al controller di questa applicazione, se necessario (di seguito).
- Questa app Web avrebbe anche un proprio controller per gestire le richieste e il routing dell'URL dell'app e quindi il controller userebbe, diciamo, l'
ModelAndView
oggetto o qualcosa del genere per "parlare con" il controller del servizio RESTful, ottenere qualunque dato venga passato , restituisci quei dati alla vista (Javascript, JSP, ecc ...) per la visualizzazione.
Sono sulla buona strada, qui? Capisco che c'è anche un aspetto di autenticazione nei servizi RESTful, ma non ci sono ancora concettualmente (e il mio progetto verrà utilizzato in una rete privata, quindi la sicurezza non è una priorità a questo punto).
Qualsiasi approfondimento, critica, conoscenza, feedback o chiarimento è molto apprezzato.