Comunicazione tra front-end e back-end

di il
2 risposte

Comunicazione tra front-end e back-end

Buongiorno, ho un problema che non riesco a risolvere.
Ci stiamo esercitando con una traccia che ci è stata data dal docente, io sono nel team back-end. Utilizziamo Angular 8, Spring Boot, i Criteria di JPA per l'interrogazione al database e mysql per il db.
In sostanza dal front-end mi arriva un oggetto dal front-end, ma il problema è che io NON ho una tabella dove poterlo andare a salvare, in quanto questo oggetto possiede 4 attributi di di una entità ed altri 2 di un'altra, come faccio a "scomporlo" ed indirizzare quindi le due insert? Ci sono sopra da venerdì e non ne sono uscito...

Avevo pensato:
visto che tra la entità A e la B c'è una relazione 1-N, di sfruttare la chiave esterna per andare in qualche modo a salvare l'oggetto nell'altra tabella... fattibile? come?
Oppure creare una terza entità (e di consegenza tabella) con tutti questi 6 campi, fare la insert lì, per poi recuperare i 4 campi con una select ed andarli a mettere con una insert nella tabella A, stesso percorso per la tabella B,per poi eliminare il record della tabella "temporanea", ma non so se sia possibile, inoltre mi sembra sbagliato agire così.

Da notare che il front non può modificare nulla, deve per forza passarmi l'oggetto in questo modo, ed io devo per forza avere due tabelle separate.

2 Risposte

  • Re: Comunicazione tra front-end e back-end

    Non si e' capito un'acciderbolina!!!!!

    OK, Ritenta che sarai piu' fortunato.

    Vediamo di riassumere un po'!

    1) che cosa fa il frontend/come e' implementato NON TI INTERESSA MINIMAMENTE

    2) il back-end PARLA con il frontend SOLO mediante servizi RESTFul (SPERO!!!).
    QUESTO vuol dire che dal frontend TI ARRIVA un JSON che avra' una certa struttura.

    3) a questo punto ti dovresti trovare in UNA di queste DUE situazioni:

    3.0) FONDAMENTALE: quello che ricevi NON E' una stringa MA
    3.1) e' un oggetto JSON composto da oggetti della libreria JSON che stai utilizzando
    3.2) e' un oggetto CREATO a partire dalla DESERIALIZZAZIONE del JSON

    FIno a qui, NON SO (perche' non si e' capito), ma ci potrebbe stare.

    ORA (che NON E' un errore Oracle ) tu hai questo oggetto che devi infilare in un database.

    Anche qui hai diverse soluzioni:

    4.0) DEVI GIA' avere delle tabelle da popolare!!!! Se no, non vale
    4.1) il tuo oggetto lo puoi inserire DIRETTAMENTE in tabella, mediante JPA
    4.2) il tuo oggetto lo DEVI TRASORMARE in un'ALTRO oggetto che puoi inserire DIRETAMENTE in tabella.

    ASSIOMA: se devi fare i salti mortali all'indietro con il tuffo carpiato per risolvere l'esercizio ALLORA non ti e' chiaro qualcosa / stai facendo ""casino""

    Questo esercizi sono FATTI APPOSTA per essere risolti in modo PRATICAMENTE diretto con QUATTRO linee di codice messe in croce.

    Se sono 8 forse stai sbagliando.
    Se sono 16 stai SICURAMENTE sbagliando
    Se sono 32 ABBANDONA e riparti dall'inizio

    (Piu' o meno, naturalmente )
  • Re: Comunicazione tra front-end e back-end

    migliorabile ha scritto:


    Non si e' capito un'acciderbolina!!!!!

    OK, Ritenta che sarai piu' fortunato.

    Vediamo di riassumere un po'!

    1) che cosa fa il frontend/come e' implementato NON TI INTERESSA MINIMAMENTE

    2) il back-end PARLA con il frontend SOLO mediante servizi RESTFul (SPERO!!!).
    QUESTO vuol dire che dal frontend TI ARRIVA un JSON che avra' una certa struttura.

    3) a questo punto ti dovresti trovare in UNA di queste DUE situazioni:

    3.0) FONDAMENTALE: quello che ricevi NON E' una stringa MA
    3.1) e' un oggetto JSON composto da oggetti della libreria JSON che stai utilizzando
    3.2) e' un oggetto CREATO a partire dalla DESERIALIZZAZIONE del JSON

    FIno a qui, NON SO (perche' non si e' capito), ma ci potrebbe stare.

    ORA (che NON E' un errore Oracle ) tu hai questo oggetto che devi infilare in un database.

    Anche qui hai diverse soluzioni:

    4.0) DEVI GIA' avere delle tabelle da popolare!!!! Se no, non vale
    4.1) il tuo oggetto lo puoi inserire DIRETTAMENTE in tabella, mediante JPA
    4.2) il tuo oggetto lo DEVI TRASORMARE in un'ALTRO oggetto che puoi inserire DIRETAMENTE in tabella.

    ASSIOMA: se devi fare i salti mortali all'indietro con il tuffo carpiato per risolvere l'esercizio ALLORA non ti e' chiaro qualcosa / stai facendo ""casino""

    Questo esercizi sono FATTI APPOSTA per essere risolti in modo PRATICAMENTE diretto con QUATTRO linee di codice messe in croce.

    Se sono 8 forse stai sbagliando.
    Se sono 16 stai SICURAMENTE sbagliando
    Se sono 32 ABBANDONA e riparti dall'inizio

    (Piu' o meno, naturalmente )
    Ciao, Migliorabile.
    Effettivamente si è capito poco perché in queste due settimane tra typescript,html, bootstrap, angular, spring, hibernate, database, sql abbiamo messo tanto di quella carne al fuoco che uno che ha bisogno di studiare ha le idee poco chiare un po' su tutto, infatti sto aspettando la fine del corso per approfondire tutto. Ad esempio, a questa domanda non so rispondere:
    3.0) FONDAMENTALE: quello che ricevi NON E' una stringa MA
    3.1) e' un oggetto JSON composto da oggetti della libreria JSON che stai utilizzando
    3.2) e' un oggetto CREATO a partire dalla DESERIALIZZAZIONE del JSON

    Posso dirti che:
    Utilizziamo servizi Rest ed abbiamo già il db pronto, tant'è che le operazioni di crud le abbiamo già effettuate e la comunicazione col front-end procede senza problemi.

    Adesso, l'utente compila un form con i campi -ad esempio- nome, cognome, postiTavolo, oraPrenotazione e mi arriva quindi questo oggetto con i 4 valori.
    Io però - a differenza loro - non ho un "cliente/prenotazione" ma ho la entity/tabella "cliente" coi primi due attributi e quella "prenotazione" con gli altri due. Devo quindi "scomporlo" e fare due insert in due differenti tabelle. Almeno da come ho capito io, ma forse ragiono malissimo al momento.
Devi accedere o registrarti per scrivere nel forum
2 risposte