Come integrare i servizi Web di ibernazione e REST in java?

2

Ho intenzione di sviluppare che sarà un'applicazione web e un'applicazione mobile (android / iOS / windows). Il database in questa applicazione sarà gestito da Hibernate. Inoltre, poiché è un'applicazione multipiattaforma, verrà utilizzato anche il servizio web. Quello che so finora è:

HIBERNATE:

  • File POJO (i getter-setter che creeranno le tabelle del database)
  • Modello (la classe java che interagirà con il database)
  • Controller (fondamentalmente servlet che otterrà i dati dalla vista [jsp], impostalo in POJO object e passa questo oggetto a Model per qualsiasi CRUD funzionamento)
  • Visualizza (le pagine jsp)

SERVIZIO WEB REST:

  • Classe di implementazione del servizio Web, che ha metodi web, che possono essere chiamato da URL dal client e può restituire il formato JSON o XML i dati.

Quindi ora la mia domanda è:

  • Come integrare entrambi? Dovrei inserire tutti i miei POJO e modello file al servizio web? Se no, che cosa fare in questa situazione? Se si, di come farlo (esempio semplice)?
posta Jignesh M. Khatri 20.07.2016 - 15:57
fonte

2 risposte

1

Dovresti dare un'occhiata alle specifiche JAX-RS e fare un tutorial. Mi piace correre a Jersey ma ci sono molte implementazioni. Non reinventare la ruota e provare a costruire un'interfaccia RESTful usando servlet arrotolati a mano. Questo renderà la costruzione della tua interfaccia REST in un attimo. L'integrazione con Hibernate sta semplicemente scrivendo il codice per fare le tue domande. La specifica JAX-RS ti consente di registrare i writer MessageBodyReaders e MessageBody che eseguono la traduzione tra i tuoi oggetti e qualsiasi formato serializzato che desideri supportare. Esistono vari strumenti per la traduzione da e verso JSON. GSON è una scelta solida ma ce ne sono altri.

    
risposta data 20.07.2016 - 17:20
fonte
0

Ti consiglierei di usare il framework MVC Spring insieme a Hibernate

  1. Le classi POJO menzionate sono annotate con le annotazioni JPA / Hibernate che creano le tabelle del database.

  2. Segue il livello Dao che contiene i metodi per eseguire le operazioni CRUD nelle tabelle del database.

  3. Segue il livello di servizio in cui è possibile gestire la logica di business come iniezioni di dipendenza tra più entità.

  4. Successivo Arriva il livello controller in cui è possibile annotare i metodi con l'URL @RequestMapping che diventa infine l'endpoint REST.

In questo modo hai un legame stretto con il tuo Model-View-Controller.

Ecco un Esempio

Detto questo, in alternativa puoi utilizzare solo i controller Spring come solo endpoint REST anziché restituire la parte ModelAndView. La risposta restituita da Spring REST Endpoint (JSON) può essere utilizzata dal controller AngularJs per popolare la vista.

Puoi utilizzare BootStrap o Semantic UI per fornire un'interfaccia utente reattiva poiché hai menzionato che l'applicazione deve essere utilizzata su Mobiles!

    
risposta data 18.09.2016 - 20:05
fonte

Leggi altre domande sui tag