Sto creando un backend API su Ruby on Rails. Nella parte anteriore creerò più interfacce lato client per accedere ai dati. Ad esempio un'interfaccia 'membro' ma anche separatamente un'interfaccia 'admin'. Il back-end controllerà l'autenticazione e controllerà i privilegi di un utente in base al suo ruolo.
Lettura di tutta la documentazione su un backend API che restituisce JSON ai frontend JavaScript (ZPS) Vengo a chiedermi dove è programmata una certa logica.
Capisco che determinate convalide dei form sarebbero programmate sul lato client e possono essere ricontrollate quando si invia la richiesta effettiva per impedire la manipolazione lato client.
Ma che dire di esempi come:
- Invio di una mail di benvenuto dopo la registrazione dell'utente. Il mio endpoint / api / v1 / register sarebbe responsabile anche dell'invio di questa e-mail?
- O se il mio database ha una tabella "recensioni" e ho bisogno di aggiornarlo settimanalmente con recensioni recuperate esternamente. Il mio cliente avrebbe recuperato le recensioni e poi avrebbe pubblicato quelle recensioni sulla mia API, oppure avrebbe potuto chiamare qualcosa come 'api / updatereviews' e avere il server responsabile per il recupero esternamente delle recensioni.
- O eseguendo un'attività pianificata, ad esempio un processo di fatturazione mensile per calcolare e inviare fatture ai clienti. Il server esegue questa operazione da un'attività pianificata e dovrei pubblicare un endpoint ad esempio / api / v1 / runinvoicing / che esegue i proces?
Questo tipo di logica non è direttamente correlata al recupero di alcuni dati e al suo ritorno come JSON, che sembra l'utilizzo principale di un backend API.
È una buona pratica sfruttare il backend API per determinati processi come i miei esempi sopra. O di solito è fatto in modo diverso? Qualsiasi aiuto o informazione su questo sarebbe molto apprezzato!