Diciamo che ho un database personalizzato contacts
e ci sono due tabelle all'interno:
contacts
- user
- group
Un utente può appartenere a più gruppi e un gruppo può avere più utenti. Se aggiungo / aggiorno / rimuovo un utente nel database, anche il gruppo dovrebbe essere aggiornato (se l'utente appartiene a qualcuno del gruppo). Come devo implementare l'API REST? Attualmente, ho due diverse implementazioni:
Punto finale singolo
Crea un endpoint PUT /user
e lascia che il codice backend esegua tutto il lavoro in un unico endpoint. (Verifica validità, aggiorna l'utente, aggiorna tutto il gruppo relativo all'utente)
Punto finale multiplo
Crea molti endpoint monouso e lascia che il javascript front-end decida come inviare le richieste Ajax. Forse:
PUT /user
PUT /group
Il primo metodo duplica molti codici e il secondo metodo può causare errori se alcune richieste non vengono inviate correttamente al back-end. Un'altra domanda è che l'API REST dovrebbe sempre assicurarsi che l'integrità dei dati del DB rimanga corretta, oppure potremmo separare l'intera azione in più richieste? Grazie in anticipo!