utilizzando server fittizi per tutto il ciclo di vita dell'API

APIGit

2023-04-25

The-Many-Ways-to-Use-Mock-Servers

Utilizzo di server fittizi per tutto il ciclo di vita dell'API

I server fittizi sono una soluzione utile per le varie sfide impreviste che sorgono durante il processo di sviluppo. L'integrazione con più API può richiedere molto tempo, con le persone che trascorrono in media il 16% del loro tempo a eseguire il debug, rispetto a solo il 10% nel loro stato ideale. Anche le dipendenze esterne e gli sforzi simultanei del team possono causare ritardi e frustrazione. Tuttavia, utilizzando server fittizi, gli sviluppatori possono ridurre al minimo questi contrattempi e interruzioni, rendendoli uno strumento prezioso durante l'intero ciclo di vita dello sviluppo.

Cos'è esattamente un server fittizio?

Per chiarire, un mock server è uno strumento disponibile nella piattaforma Apigit che consente agli sviluppatori di simulare richieste e risposte API. Quando una richiesta viene inviata al server fittizio, abbina la configurazione della richiesta agli esempi salvati e fornisce una risposta con i dati corrispondenti.

I server fittizi forniscono un modo per simulare le risposte di un'API in un ambiente di produzione, senza richiedere agli sviluppatori di scrivere alcun codice. Utilizzando server fittizi, il ciclo di feedback nello sviluppo dell'infrastruttura API viene accorciato, consentendo iterazioni più rapide e uno sviluppo più rapido.

In questo post del blog, discuteremo dei vantaggi dell'utilizzo di server fittizi e di come possono migliorare il flusso di lavoro di sviluppo. Apigit fornisce diversi metodi per creare un server fittizio, che esploreremo in dettaglio.

Utilizzo di server fittizi per la collaborazione

Nella maggior parte dei casi, i progetti di sviluppo coinvolgono più team e individui che lavorano contemporaneamente su diversi aspetti del progetto. Ciò include sviluppatori frontend, sviluppatori backend, ingegneri QA e altri specialisti, anche in progetti su scala ridotta. Per massimizzare la produttività e l'efficienza, è normale che i team lavorino contemporaneamente su diverse parti del progetto.

I server fittizi sono uno strumento versatile che può aiutare a mantenere l'efficienza durante tutto il processo di sviluppo, a vantaggio sia dei produttori di API che dei consumatori. Possono essere utilizzati in varie fasi del ciclo di vita dello sviluppo dell'API. Ad esempio, quando il team di front-end desidera integrare i dati dal back-end o dal server, è possibile utilizzare server fittizi per simulare endpoint API che non sono ancora completamente configurati o funzionanti. Ciò garantisce che l'ingegnerizzazione del frontend sia accurata e possibile anche in assenza di funzionalità API complete.

I server fittizi possono essere utilizzati in una fase iniziale del processo di sviluppo, ad esempio durante la fase di progettazione. Invece di attendere che gli endpoint API vengano sviluppati e distribuiti, Apigit consente agli sviluppatori di creare un server fittizio da una specifica API, che può simulare le risposte del server da utilizzare nel front-end. Ciò consente agli sviluppatori dell'interfaccia utente di iniziare subito interrogando il server fittizio e lavorando con le risposte previste. Una volta che l'API effettiva è pronta per la produzione, gli sviluppatori possono scambiare l'URL per le risposte dell'API fittizia con l'URL per l'API reale (insieme a qualsiasi autorizzazione necessaria).

Esegui test in modo efficiente prendendo in giro le dipendenze esterne

Le API e i progetti di sviluppo non sono entità isolate e lo sviluppo back-end spesso richiede l'integrazione con servizi esterni. Tuttavia, le chiamate a server esterni sono al di fuori del tuo controllo e possono produrre risultati imprevedibili e inaffidabili, come la restituzione di errori 503 Servizio non disponibile. Come accennato in precedenza, i problemi relativi all'API di debug possono consumare fino al 16% del tempo di sviluppo complessivo. Quando un progetto si basa su diverse API esterne, è possibile che si verifichino problemi di accesso alle API che presentano errori, il che può ostacolare l'avanzamento. Tuttavia, questi problemi non devono arrestare completamente lo sviluppo.

Le chiamate API esterne sono spesso componenti fondamentali dei flussi di lavoro di sviluppo, ma affidarsi a servizi esterni durante lo sviluppo può essere rischioso. Per mitigare questo rischio, è possibile utilizzare server fittizi per simulare l'esperienza di accesso a un server esterno e restituire le risposte previste. Ciò è particolarmente utile in situazioni in cui una chiamata a un server esterno o API è una componente cruciale del processo di sviluppo.

In questo scenario, i server fittizi aiutano nella fase di test e sviluppo locale del ciclo di vita dello sviluppo. Esploriamo un esempio teorico:

Supponiamo che tu stia sviluppando un'applicazione di e-commerce con un flusso di ordini, in cui la tua API è abbinata a un servizio di spedizione che deve rimanere sincronizzato. In particolare, quando un articolo viene aggiunto al carrello nell'app e-commerce, dovrebbe essere aggiunto al carrello anche per il servizio di spedizione, in modo che il servizio di spedizione possa tenere traccia di ciò che deve essere spedito. Ciò significa che ogni richiesta effettuata alla tua API attiverà anche una richiesta all'API del servizio di spedizione.

A visual example of testing an e-commerce site but productivity is stopped because of an issue in the Shipping API Un esempio visivo di test di un sito di e-commerce ma la produttività viene interrotta a causa di un problema nell'API di spedizione

Una parte cruciale dello sviluppo delle API è garantire che i servizi esterni o le API su cui si basa il progetto siano funzionali e restituiscano i risultati attesi. Tuttavia, le chiamate a server esterni non sono sempre affidabili e possono produrre errori imprevisti, con conseguente necessità di debug. In questi casi, i server mock tornano utili simulando l'esperienza di colpire un server esterno e restituendo una risposta prevista.

Durante la fase di test e sviluppo locale del ciclo di vita dello sviluppo, i server fittizi aiutano a isolare le singole API nel flusso di lavoro. Configurando un server fittizio per un'API esterna, come un'API del servizio di spedizione nel caso di un'applicazione di e-commerce, è possibile continuare a lavorare in base ai risultati attesi dall'API nonostante sia inattiva. Ciò rende il processo di test più efficiente e riduce le possibilità che il progetto venga interrotto a causa di errori dell'API.

Durante il test del flusso di ordinazione di un'applicazione di e-commerce, l'API deve rimanere sincronizzata con un servizio di spedizione. Tuttavia, se l'API di spedizione restituisce errori o è inattiva, può causare ritardi nello sviluppo e nei test. Per evitare tali dipendenze, è possibile utilizzare server fittizi per simulare le risposte previste da servizi esterni. Con Apigit, gli sviluppatori possono testare ogni API individualmente e identificare problemi specifici. Configurando un server fittizio per l'API di spedizione, gli sviluppatori possono continuare a lavorare in base ai risultati previsti anche se l'API di spedizione è inattiva. L'immagine seguente mostra lo stesso flusso di lavoro con un server fittizio che sostituisce l'API di spedizione, consentendo ai test di continuare senza interruzioni finché le API interne funzionano come previsto.

A visual example of testing the e-commerce site while using a mock server to simulate the Shipping API Un esempio visivo di test del sito di e-commerce durante l'utilizzo di un server fittizio per simulare l'API di spedizione

Parlami dei dati

La condivisione dei dati è al centro delle API, indipendentemente dal protocollo o dal verbo HTTP utilizzato. Tuttavia, questi dati possono contenere informazioni personali sensibili che potresti non voler utilizzare a scopo di test. D'altra parte, l'utilizzo di dati segnaposto come "John Doe" può diventare monotono e irrealistico. È qui che tornano utili i server fittizi.

I server fittizi sono utili per gestire sia i test quotidiani che i casi d'uso complessi, inclusi quelli in cui i dati privati devono essere protetti o quando si desidera simulare un flusso di lavoro simile alla produzione.

Con Apigit, puoi creare dati dinamici per i tuoi server fittizi generandoli da una serie di richieste strettamente associate e corrispondenti esempi di risposta. Invece di fare affidamento sull'esempio salvato predefinito, puoi personalizzare la risposta in base alle tue esigenze.

Un modo per raggiungere questo obiettivo è modificare l'esempio di risposta per includere variabili dinamiche. Questo approccio consente al tuo server fittizio di sfruttare la libreria integrata e fornire dati fittizi che imitano i dati del mondo reale.

Internet è un luogo imprevedibile: lascia che le simulazioni portino ordine nel tuo ciclo di vita dello sviluppo

Gli sviluppatori possono adottare una mentalità simile a quella degli sport in cui si concentrano sul controllo dei controllabili. In fase di sviluppo, la stabilità di un'API esterna non è sempre sotto il tuo controllo, ma è possibile utilizzare server fittizi per simulare ciò che dovrebbe accadere, riducendo i problemi imprevisti. Utilizzando server fittizi, gli sviluppatori possono creare la stabilità di cui hanno bisogno per svolgere il proprio lavoro in modo efficace. Quindi, lascia che i server fittizi siano la stabilità di cui gli sviluppatori hanno bisogno per raggiungere i loro obiettivi senza confusione o intoppi imprevisti.