Il frontend dovrebbe avere la lista dei dettagli del prodotto che il cliente ha dall'API del cliente o quella API del prodotto

1

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

  1. API cliente che: gestisce la richiesta relativa ai dati del cliente
  2. 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.

    
posta Natechawin 06.11.2017 - 13:07
fonte

1 risposta

2

Evita di scegliere ciò che accade in quale api con il nome della cosa o delle API. È troppo soggettivo.

Scegli in base a ciò che è performante e scalabile per il tuo sistema.

In questo caso, presumibilmente hai una query performante, ottieni le carte regalo per l'ID cliente, che è reso disponibile nella tua giftCardApi e un performant ottiene il cliente tramite la query id nel tuo CustomerApi.

Se si inviano richieste a più di un API sul front-end quando non è necessario, non è performante. Ma unire in modo permanente i due, in modo da ottenere sempre buoni regalo ogni volta che si ottiene un cliente è anche un problema.

Crea semplicemente un nuovo ViewModel e un endpoint CustomerWithGiftCards appositamente per questa pagina. Chiamare entrambi i servizi assemblare ViewModel e memorizzare il risultato nella cache.

    
risposta data 06.11.2017 - 16:51
fonte

Leggi altre domande sui tag