Decoy
Decoy è un mock server nativo per macOS: simula API e webhook locali, definisci endpoint, ispeziona richieste e restituisci risposte configurabili.
Cos'è Decoy?
Decoy è un mock server nativo per macOS pensato per sviluppatori che devono simulare endpoint HTTP e comportamenti webhook in locale. Ti permette di definire route, ispezionare le richieste in arrivo e restituire risposte mock controllate per testare wrapper API, gestione richieste, redirect e modalità di errore senza dover avviare servizi esterni.
Lo scopo principale di Decoy è il testing locale on-demand: punti il tuo client al dominio e porta locali di Decoy, osservi ogni richiesta in arrivo e regoli le risposte degli endpoint per esercitare il tuo codice contro gli scenari che scegli.
Caratteristiche Principali
- App nativa macOS con avvio istantaneo: Funziona come applicazione SwiftUI e si avvia rapidamente senza richiedere Docker, tunnel cloud o passaggi di setup.
- Controlli endpoint e richiesta/risposta: Definisci coppie metodo + path, raggruppate in progetti, poi scegli codici di stato risposta, tipo body, header e delay opzionale.
- Ispezione richieste live: Ogni richiesta in arrivo è visualizzata con header, body, IP sorgente, timestamp e identificativi richiesta (UUID). I body JSON sono formattati automaticamente.
- Percorsi e progetti parametrizati: Supporto per parametri di path (es.
/users/:idcorrisponde a/users/42) e organizzazione endpoint in progetti. - Formati risposta per scenari web comuni: Scegli tra testo semplice, JSON, HTML, XML, file, vuoto o redirect; configura automaticamente header Location per i redirect.
- Supporto browser e CORS: Le richieste browser “funzionano subito”, con header CORS aggiunti automaticamente. Supportati codici redirect (301, 302, 307, 308).
- Snapshot e export richieste/risposte: Visualizza cosa è stato effettivamente inviato per ogni richiesta ed esporta come cURL, JavaScript fetch o Ruby.
- Logging richieste durevole via SQLite: Le richieste sono scritte in SQLite immediatamente, così i dati non vanno persi se l’app si chiude inaspettatamente.
Come Usare Decoy
- Installa Decoy dall’App Store su Mac, poi avvia l’app su macOS 14 Sonoma o successivo.
- Crea o seleziona un progetto, poi definisci endpoint usando una coppia metodo e path.
- Configura la risposta mock di ogni endpoint: imposta un codice di stato, scegli un tipo body (incluso JSON, HTML, XML o file), aggiungi header e opzionalmente un delay.
- Punta la tua app o tool di test al dominio e porta locali di Decoy (decoy.my:8998 è indicato nella descrizione prodotto).
- Invia richieste dal tuo client o browser. Decoy mostrerà i dettagli di ogni richiesta in arrivo e applicherà le modifiche risposta alla successiva.
Casi d'Uso
- Testing gestione webhook e casi limite: Invia richieste webhook a Decoy per verificare come il tuo codice processa codici di stato diversi, body risposta, header e latenza simulata.
- Verifica logica wrapper API: Esercita un client API contro endpoint mock che controlli, regolando payload e header risposta mentre osservi ogni richiesta in arrivo.
- Riproduzione comportamenti redirect: Configura endpoint per restituire redirect (con header Location appropriato) per testare come la tua app segue o reagisce a 301/302/307/308.
- Servire contenuti statici-like in sviluppo: Usa risposte file per servire immagini, PDF o altri file direttamente, o pagine HTML complete impostando il tipo body su HTML.
- Cattura e riutilizzo interazioni reali richiesta/risposta: Usa snapshot richieste ed esporta equivalenti cURL o fetch/Ruby generati per riprodurre issue o condividere esempi.
FAQ
Decoy richiede Docker, tunnel cloud o file di configurazione?
No. La descrizione prodotto specifica che funziona senza Docker, tunnel cloud o file di config.
Quali piattaforme e versioni sono supportate?
Decoy richiede macOS 14 Sonoma o successivo.
Come vengono applicate le modifiche alle risposte mock?
Le modifiche (come aggiornamento JSON, header o codici di stato) hanno effetto sulla prossima richiesta in arrivo.
Decoy gestisce richieste browser e CORS?
Sì. Le richieste browser sono supportate e i header CORS sono aggiunti automaticamente.
Dove sono memorizzati i dati delle richieste?
Le richieste sono scritte in SQLite immediatamente, e la descrizione prodotto nota che nulla va perso se l’app si chiude inaspettatamente.
Alternative
- Server HTTP mock locali (strumenti generici): Gli strumenti di questa categoria forniscono anche endpoint locali e risposte controllabili, tipicamente tramite file di configurazione o container; Decoy enfatizza un’interfaccia nativa macOS senza Docker.
- Piattaforme dedicate al mocking di API (servizi hosted): Queste possono simulare endpoint sulla rete, ma richiedono solitamente configurazione e deployment esterni anziché un mock server locale.
- Librerie per stubbing di request/response o framework di test: Alcune squadre usano stub basati su codice all’interno della suite di test; ciò differisce dal server standalone locale di Decoy con UI per ispezionare richieste e modificare risposte.
- Strumenti di test API con supporto al mocking: Alcuni client API interattivi supportano mocking o simulazioni locali; i workflow possono differire, specialmente per ispezione dedicata delle richieste, progetti e funzionalità di snapshot/esportazione delle risposte.
Alternative
Falconer
Falconer è una piattaforma di conoscenza che si aggiorna da sola: scrivi, condividi e trova documentazione interna e contesto del codice in un unico posto.
OpenFlags
OpenFlags è un sistema di feature flag open source self-hosted per progressive delivery: valuta localmente via SDK e gestisci i rollout con un control plane semplice.
skills-janitor
skills-janitor esegue audit, traccia l’uso e confronta le tue skill per Claude Code con 9 azioni slash mirate, senza dipendenze.
Rectify
Rectify è una piattaforma operativa all-in-one per SaaS: monitoraggio, analytics, supporto, roadmap, changelog e gestione agenti in un’unica workspace visiva via conversazione.
GitBoard
GitBoard è un’app nativa per la barra dei menu di macOS per GitHub Projects: visualizza la kanban, filtra per stato, cerca issue e crea/assegna.
Studio CLI
Controlla le funzionalità di WordPress Studio dal terminale con Studio CLI: gestisci siti locali, crea/aggiorna/elimina preview WordPress.com e autentica.