Gli endpoint sono una parte essenziale dei processi aziendali e dello sviluppo di applicazioni in generale. In questo articolo definiamo cosa sono gli endpoint, perché ne abbiamo bisogno e come crearli sulla piattaforma AppMaster.io.
Che cos'è un endpoint?
Un endpoint è un gateway che collega i processi server dell'applicazione con un'interfaccia esterna. In altre parole, è l'indirizzo a cui vengono inviate le richieste.
È importante menzionare il funzionamento delle API per capire cosa sono gli endpoint. API è l'abbreviazione di application programming interface. Le applicazioni utilizzano le API per interagire con servizi di terze parti e con i loro utenti.
Per connettersi all'API, è necessario inviare una richiesta. Per la corretta elaborazione della richiesta, il client deve fornire un puntatore universale di risorse (URL), un metodo HTTP e, a seconda del metodo, aggiungere intestazioni, corpo e parametri della richiesta. Le intestazioni forniscono metadati sulla richiesta, mentre il corpo contiene dati, come i campi per le nuove righe del database.
L'API elaborerà la richiesta e invierà la risposta ricevuta dal server. La risposta conterrà un codice di stato, che è una parte del messaggio di risposta HTTP che informa il client del risultato della richiesta. Ad esempio, il codice 200 viene utilizzato se l'operazione è stata completata con successo, 500 se si è verificato un errore interno del server.
Gli endpoint lavorano insieme ai metodi API. Si tratta di URL specifici che l'applicazione utilizza per comunicare con servizi di terze parti e con i propri utenti. Un URL è un percorso che può gestire diversi metodi di richiesta. Ogni tipo di richiesta è un endpoint separato. Esistono cinque tipi principali:
- GET - ottiene informazioni dal server; non richiede un corpo della richiesta;
- POST - crea un nuovo oggetto nel database, richiede un corpo di richiesta con i campi di questo oggetto;
- PUT - ripristina completamente un oggetto specifico nel database;
- PATCH - simile a PUT, ripristina un oggetto specifico nel database, ma aggiornerà solo i campi indicati nel corpo della richiesta;
- DELETE - cancella l'oggetto dal database.
Quando si crea una richiesta specifica, è possibile aggiungervi vari parametri. La combinazione di questi parametri e dell'URL rappresenta un URI (Uniform Resource Identifier). Indica dove e come trovare la risorsa.
Come si configurano gli endpoint sulla piattaforma AppMaster.io?
Nella sezione Endpoints della piattaforma AppMaster.io si possono vedere tutti gli endpoint generati automaticamente e quelli del proprio progetto. Se la generazione automatica di schermate e pagine nel progetto è abilitata, verranno creati automaticamente gli endpoint corrispondenti per ogni modello di dati creato. Inoltre, gli endpoint possono essere creati automaticamente quando si installano alcuni moduli, ad esempio Autorizzazione (Auth), Paesi e città e altri.
AppMaster.io consente di lavorare con diversi tipi di endpoint API:
- API per accedere al backend dal client e da sistemi di terze parti;
- webhook per ricevere notifiche da sistemi di terze parti;
- WebSockets, per aprire una sessione di comunicazione interattiva bidirezionale tra un browser e un server senza richiedere una risposta al server.
Tutti gli endpoint sono raggruppati. All'interno di ogni gruppo, si trovano tutti gli endpoint corrispondenti, i loro tipi di richiesta, gli URL e i processi aziendali a cui sono collegati. Tutti gli endpoint possono essere eliminati e modificati dall'utente.
Quando si crea o si modifica un endpoint, nella finestra di configurazione sono disponibili le seguenti opzioni:
- Metodo di richiesta. GET, POST, PUT, DELETE o PATCH.
- URL della richiesta. La prima parte con il percorso del server non viene specificata, poiché è la stessa per tutti gli endpoint dell'applicazione. È sufficiente impostare la parte finale, ad esempio /utenti. Anche il parametro URL viene specificato qui. Si supponga che l'endpoint sia progettato per ricevere informazioni su un utente specifico. In questo caso, il suo ID deve essere scritto dopo ":" (/users/:id) e passato come parametro.
- Gruppi di endpoint. Questo parametro ha lo scopo di organizzare e strutturare il lavoro con gli endpoint. Tutti gli endpoint possono essere suddivisi in gruppi (cartelle).
- Processo aziendale. Uno dei parametri più critici che determinano l'attività dell'endpoint. Allo stesso tempo, l'endpoint stesso può rimanere invariato. Riceverà tutte le stesse richieste al vecchio indirizzo e, se il processo aziendale viene sostituito, eseguirà una funzione diversa. I processi aziendali per le operazioni di base del database vengono creati automaticamente. Non è possibile modificarli, ma se necessario è possibile sostituirli con BP personalizzati.
Inoltre, è possibile impostare il middleware. Il middleware è un software intermedio che funge da filtro durante l'elaborazione delle richieste dell'applicazione. Il middleware viene utilizzato per verificare eventuali condizioni prima di eseguire una richiesta. Ad esempio, se si crea un middleware per verificare l'autenticazione dell'utente, il middleware reindirizzerà l'utente alla pagina di login se non ha effettuato l'accesso. Se l'utente è connesso, il middleware non interferirà con l'elaborazione della richiesta, passandola al client.
Creare un endpoint in AppMaster.io
Consideriamo la configurazione degli endpoint nella pratica e analizziamola attraverso l'esempio del progetto Aviato. Il processo completo di creazione di questo progetto è disponibile nel corso di AppMaster.io.
All'interno del progetto, abbiamo creato due processi aziendali:
- Validate and create flights - il processo che verrà utilizzato per sostituire il processo aziendale Create flight;
- Registra passeggero - per registrare un passeggero per un volo specifico.
Ora possiamo usare questi processi per impostare gli endpoint nel progetto.
Cominciamo con il processo aziendale Validate and create flights. Il gruppo Volo ha già un endpoint POST/flights per creare un volo. Ora dobbiamo sostituire il processo aziendale allegato con uno nuovo. Per farlo, occorre modificare l'endpoint.
Nella finestra di configurazione, selezionare il processo aziendale desiderato. Nel nostro caso, si tratta di un BP di convalida e creazione di voli. Successivamente, occorre selezionare tutte le variabili di input necessarie e salvare le modifiche.
Ora possiamo impostare l'endpoint successivo per il processo aziendale Register passenger.
Il nostro obiettivo è creare una sezione per visualizzare un volo specifico e i passeggeri ad esso associati e impostare un processo per la registrazione di nuovi passeggeri.
Nel gruppo di endpoint Voli, dobbiamo creare un nuovo endpoint: /flights/:id/register, dove id si riferisce a un volo specifico che possiamo utilizzare come input in un processo aziendale.
Facendo clic sull'icona Più, possiamo aggiungere un nuovo endpoint. Il metodo di richiesta sarà POST, poiché stiamo creando un nuovo oggetto. Selezioniamo il processo Register passenger per il nostro BP e salviamo tutte le modifiche apportate.
Ecco come è facile creare endpoint sulla piattaforma AppMaster.io. Video tutorial completo:
Conclusione
Gli endpoint svolgono un ruolo fondamentale nel funzionamento dell'API, che a sua volta è necessaria per espandere i progetti e integrare comodamente servizi e applicazioni. La piattaforma no-code AppMaster.io semplifica la creazione e la configurazione degli endpoint. È sempre possibile registrarsi sulla piattaforma e verificare tutte le funzionalità.