Postman — una piattaforma per testare le API con interfaccia grafica che supporta i protocolli REST, GraphQL, WebSocket e gRPC. Lo strumento consente di creare e inviare richieste HTTP, organizzarle in raccolte, automatizzare i test con script e generare documentazione per gli endpoint. Secondo il Postman Learning Center (2026), più di 25 milioni di sviluppatori in tutto il mondo utilizzano la piattaforma.
Punti chiave
Postman è una piattaforma per lo sviluppo e il test delle API, disponibile come applicazione desktop (Windows, macOS, Linux) e versione web. Creato originariamente come estensione per Chrome nel 2012, Postman è diventato un ecosistema completo con supporto di monitoraggio, mock server e generazione di codice client.
Postman supporta tutti i metodi HTTP: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Il corpo della richiesta può essere nei formati JSON, XML, form-data, x-www-form-urlencoded e binary. La risposta viene visualizzata con evidenziazione della sintassi, Pretty-print e possibilità di vedere le intestazioni grezze.
I tipi di autenticazione integrati includono Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key e AWS Signature. Postman aggiunge automaticamente le intestazioni Authorization in base al tipo selezionato, accelerando il test degli endpoint protetti senza copiare manualmente i token.
L'interfaccia di Postman è composta da un pannello laterale (Collections, APIs, Environments), un'area di lavoro (Request Builder/Response Viewer) e un pannello inferiore (Console, Runner). La scheda Params consente di modificare i parametri di query dell'URL in vista tabellare, la scheda Headers gestisce le intestazioni HTTP.
Console (View → Show Postman Console) registra tutte le richieste e risposte di rete in ordine cronologico, incluse le reindirizzazioni intermedie e le intestazioni. È uno strumento indispensabile durante il debug di flussi OAuth complessi e catene di reindirizzamenti quando il Response Viewer standard mostra solo il risultato finale.
Postman supporta spazi di lavoro di squadra con versionamento delle raccolte tramite Fork e Merge. I membri del team possono commentare le richieste, proporre modifiche e sincronizzare le raccolte in tempo reale. Public Workspace consente di pubblicare la documentazione API per sviluppatori esterni.
Una richiesta di base in Postman viene creata selezionando un metodo HTTP e inserendo un URL nella barra degli indirizzi. Dopo l'invio, la risposta viene visualizzata nel pannello inferiore con codice di stato, tempo di esecuzione e dimensione. I parametri della richiesta vengono codificati automaticamente durante l'inserimento.
Nell'URL e nel corpo della richiesta è possibile utilizzare variabili dinamiche nel formato {{$variable}}. Le variabili integrate {{$guid}}, {{$timestamp}} e {{$randomInt}} generano valori univoci per ogni richiesta. Gli snippet di codice sono disponibili tramite il pulsante Code (>), che genera una richiesta equivalente in cURL, Python, JavaScript, Kotlin, Swift e altri linguaggi.
// Esempio di script in Pre-request: generazione della firma HMAC
const timestamp = Date.now().toString();
const secret = pm.environment.get("api_secret");
const hash = CryptoJS.HmacSHA256(timestamp, secret);
pm.request.headers.add({
key: "X-Signature",
value: hash.toString()
});
Le raccolte sono gruppi di richieste correlate combinate per progetto o modulo funzionale. Ogni raccolta può contenere cartelle annidate, intestazioni condivise e script Pre-request che vengono eseguiti prima di ogni richiesta nella raccolta. L'ordine delle richieste viene impostato tramite trascinamento.
Postman supporta cinque livelli di variabili: global, collection, environment, data e local. La priorità di risoluzione dei conflitti va da locale a globale. I file di ambiente contengono coppie chiave-valore per diversi ambienti: development, staging, production. Il cambio di ambiente modifica automaticamente tutti gli URL e i token.
| Livello | Ambito | Priorità |
|---|---|---|
| Local | Richiesta corrente | 1 (più alta) |
| Data | Collection Runner (da CSV/JSON) | 2 |
| Environment | Ambiente attivo | 3 |
| Collection | Intera raccolta | 4 |
| Global | Intero spazio di lavoro | 5 |
Postman consente di scrivere test in JavaScript nella scheda Tests che vengono eseguiti dopo la ricezione della risposta. I test verificano il codice di stato, il corpo della risposta, le intestazioni e il tempo di esecuzione. I risultati vengono visualizzati nel pannello Test Results con indicatori di superamento colorati.
L'oggetto pm fornisce metodi per lavorare con la risposta: pm.response, pm.expect, pm.variables. Il concatenamento delle richieste viene implementato salvando i dati dalla risposta di una richiesta in una variabile e utilizzandoli nella successiva. Questa è la base per costruire test di integrazione e verificare la logica di business attraverso una sequenza di chiamate API.
// Test: verifica della struttura della risposta e salvataggio del token
pm.test("Status code is 200", () => {
pm.response.to.have.status(200);
});
const json = pm.response.json();
pm.environment.set("auth_token", json.data.token);
Collection Runner esegue tutte le richieste della raccolta in sequenza, eseguendo test a ogni passaggio. Newman è la versione console di Postman per pipeline CI/CD (Jenkins, GitHub Actions, GitLab CI). Newman esporta report nei formati JSON, JUnit e HTML per l'integrazione con sistemi di monitoraggio.
Le richieste GraphQL in Postman vengono inviate tramite POST a un singolo endpoint con corpo in formato JSON. La scheda GraphQL (Beta) fornisce un editor visivo con evidenziazione della sintassi, completamento automatico dei campi e schema. Le variabili della richiesta vengono passate in un pannello Variables separato.
Postman supporta le connessioni WebSocket tramite un'interfaccia separata con pannello dei messaggi. È possibile inviare messaggi di testo e binari, visualizzare la cronologia della connessione e riconnettersi automaticamente in caso di interruzione. Il client Socket.IO funziona in modalità di compatibilità con il protocollo Engine.IO.
// Test WebSocket in Postman tramite l'API pm
const ws = new WebSocket("wss://echo.websocket.org");
ws.onmessage = (event) => {
pm.test("Echo response received", () => {
pm.expect(event.data).to.eql("Hello");
});
};
I mock server di Postman consentono di emulare endpoint API sulla base di raccolte esistenti. Questo è utile quando il backend non è ancora pronto, ma il frontend o l'app mobile è già in fase di sviluppo. Un mock server restituisce una risposta di esempio dalla raccolta con intestazioni e codice di stato corretti.
Un mock server viene creato dalla raccolta con un clic: selezionare la raccolta → Mock Servers → Add a new mock server. Postman genera un URL univoco che può essere utilizzato nel codice dell'applicazione al posto della API reale. Per ogni richiesta della raccolta, il mock restituisce un'Example Response salvata, consentendo di testare l'interfaccia prima della fine del backend.
Monitors eseguono una raccolta secondo una pianificazione (ogni 5 minuti, ora o giorno) e verificano disponibilità e correttezza dell'API. Quando un test fallisce, il monitor invia una notifica via email o su Slack. Il monitoraggio funziona dal cloud di Postman, non richiede un server separato e supporta fino a 10.000 richieste al mese nel piano gratuito.
// Test per il monitoraggio: verifica del tempo di risposta
pm.test("Response time < 2000ms", () => {
pm.expect(pm.response.responseTime).to.be.below(2000);
});
pm.test("Content-Type is JSON", () => {
pm.response.to.have.header("Content-Type");
});
Postman fornisce meccanismi per lavorare in sicurezza con le chiavi API. Le variabili di tipo Secret vengono crittografate e non vengono visualizzate nell'interfaccia. Per il lavoro di squadra, utilizzare un Workspace con i ruoli Admin, Editor e Viewer.
Quando si crea una variabile d'ambiente, selezionare il tipo Secret — il valore viene nascosto con asterischi in tutte le interfacce. I segreti non vengono esportati nella raccolta durante la condivisione e non vengono visualizzati nei log di Newman. Si consiglia di memorizzare password e token solo in variabili Secret.
Postman supporta l'integrazione con HashiCorp Vault e AWS Secrets Manager. Gli script Pre-request possono richiedere dinamicamente segreti da un archivio esterno, evitando di memorizzare dati sensibili nei file di ambiente della raccolta.
Postman fornisce meccanismi per lavorare in sicurezza con le chiavi API. Le variabili di tipo Secret vengono crittografate e non vengono visualizzate nell'interfaccia. Per il lavoro di squadra, utilizzare un Workspace con i ruoli Admin, Editor e Viewer.
Quando si crea una variabile d'ambiente, selezionare il tipo Secret — il valore viene nascosto con asterischi in tutte le interfacce. I segreti non vengono esportati nella raccolta durante la condivisione e non vengono visualizzati nei log di Newman. Si consiglia di memorizzare password e token solo in variabili Secret.
Postman supporta l'integrazione con HashiCorp Vault e AWS Secrets Manager. Gli script Pre-request possono richiedere dinamicamente segreti da un archivio esterno, evitando di memorizzare dati sensibili nei file di ambiente della raccolta.
Domande frequenti
Postman offre un ecosistema più ampio: raccolte, ambienti, monitoraggio, mock server e Newman per CI/CD. Insomnia si concentra su leggerezza e velocità con un consumo di memoria inferiore. Postman è migliore per il lavoro di squadra, Insomnia per l'uso individuale.
In Tests della prima richiesta, salvare il token nell'ambiente: pm.environment.set("token", pm.response.json().token). Nella seconda richiesta, utilizzare la variabile {{$token}} nell'intestazione Authorization. Il Runner sostituirà automaticamente il valore durante l'esecuzione sequenziale.
Sì, tramite il pulsante Import → Raw Text. Postman analizza automaticamente il comando cURL e crea una richiesta con intestazioni, metodo e corpo. Tutti i flag cURL sono supportati, inclusi -H, -d, -F e -u. La conversione inversa è disponibile tramite il pulsante Code (>).
Utilizzare una richiesta POST con corpo JSON: {"query": "..."}. La scheda GraphQL fornisce un editor visivo con caricamento dello schema tramite Introspection Query. Le variabili della richiesta vengono passate nel campo variables dello stesso oggetto JSON.
Newman è la versione console di Postman per eseguire raccolte in CI/CD. Si installa tramite npm, supporta report HTML e l'integrazione con Jenkins, GitHub Actions e GitLab CI. Consente di automatizzare i test di regressione delle API senza interfaccia grafica.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche