Nella mia azienda abbiamo realizzato quasi tutti i sistemi in architettura di micro-servizi. Io lavoro sul sistema di backend, abbiamo molte API che lavorano separatamente le une dalle altre. Oggi siamo arrivati alla domanda su quale componente dovrebbe avere il responsabile di fornire i dati al front-end richiesti.
Diciamo che abbiamo
- API cliente che: gestisce la richiesta relativa ai dati del cliente
- API GiftCard che: gestisce la richiesta relativa ai dati giftcard
Abbiamo la storia che ha reso l'intestazione del nostro sito web "l'importo totale della gift card che il cliente ha". GiftCard Api ha già l'endpoint per ottenere questi dati ma per questa storia, siamo tutti d'accordo che FE dovrebbe chiamare l'API del cliente e l'API del cliente dovrebbe chiamare GiftCard Api per prendere quei dati e tornare in FE perché il saldo totale del giftcard del cliente è di base le informazioni del cliente che l'API cliente dovrebbe fornire.
Ma dovrebbe essere l'API cliente quella che ha la responsabilità di restituire l'elenco delle informazioni sulle carte regalo che il cliente ha anche per FE? (RetrieveCard endpoint che ha richiesto l'id membro come parametro) Ne stiamo discutendo.
Alcuni hanno detto che dovremmo chiamare FE all'API GiftCard per ottenere quei dati perché le informazioni di giftcard del cliente sono "Informazioni tessere" presenti nel livello di servizio GiftCard che giftcard api dovrebbe fornire mentre il saldo totale di carte regalo del cliente è informazioni di base del cliente fornire come ho detto prima. (E questo è ciò che accade nella nostra azienda in questo momento. FE > API GiftCard direttamente)
Altri hanno detto che dovremmo cambiare il modo in cui stiamo facendo in questo momento per permettere a FE di chiamare l'API del cliente invece dell'API GiftCard perché, comunque, le giftcard sono di proprietà del cliente, quindi il Cliente Api dovrebbe essere il responsabile. (FE > API cliente API Gift Card)
In questo momento sono convinto del secondo parere, ma sono ancora scettico su questo e voglio qui l'opinione dei tuoi ragazzi.
Grazie in anticipo!
Modifica :: Nella mia azienda il team di frontend ha già il sistema chiamato frontend service che fornisce i dati alle cose del frontend richiamati a più backend service e gestiscono prima i dati. Ma vogliono cambiare il servizio front-end per chiamare solo 1 endpoint se possibile. In questo caso, per la seconda opzione, significa che vogliono chiamare solo l'API del cliente e lasciare che l'API del cliente abbia chiamato l'API GiftCard da sola.