myunimol / api

API for MyUnimol
https://myunimol.it
11 stars 2 forks source link

Inefficienza della catena di chiamate per la selezione di una carriera #17

Closed giograno closed 8 years ago

giograno commented 8 years ago

Per come sono strutturate le API al momento, è decisamente tortuosa la sequenza di call da fare per generare la home di uno studente. Le principali API da chiamare in questo caso sono:

L'ordine delle chiamate sarebbe quindi:

  1. testCredentials: testo le credenziali; mi vengono restituite di default alcune info basilari relative all'ultima carriera dello studente (in quanto non possiamo chiamare l'API con alcun careerId);
  2. listCareers: ricevo elenco carriere; se ce n'è più di una, prospetto la scelta all'utente e salvo il careerId da qualche parte;
  3. testCredentials: richiamo nuovamente questo metodo stavolta con il careerId che scelto dall'utente per ricevere le nuove info basilari sulla stessa;
  4. getRecordBook: con la careerId scelta.

A mio avviso potrebbe essere gestita meglio questa situazione, ad esempio scorporando la parte relativa alla info basic sullo studente dall'API per le credenziali, o incorporare la lista delle carriere in quest'ultima API.

giograno commented 8 years ago

Il test e il caching delle credenziali può essere fatto con listCareers, evitando la doppia chiamata a testCredentials. Tuttavia il nome di quest'ultima API è decisamente fuorviante.