Hai progettato la tua API e implementato i metodi del servizio. Ora è il momento di eseguire il servizio Concerti e testare i suoi endpoint.
Dalla radice del tuo progetto, compila ed esegui la tua app:
go run concerts/cmd/concerts
Il servizio ascolta sulla porta 8080 di default (a meno che non sia stato modificato in main.go
).
Esploriamo la tua nuova API scintillante! Puoi interagire con il tuo servizio usando strumenti HTTP popolari:
curl
per test rapidi da riga di comandoScegli il tuo strumento preferito e iniziamo a fare alcune richieste! 🚀
Useremo curl
per questi esempi poiché è universalmente disponibile sulla maggior parte dei
sistemi. Tuttavia, sentiti libero di adattare gli esempi al tuo client HTTP preferito,
i concetti rimangono gli stessi indipendentemente dallo strumento che usi.
Ecco cosa testeremo:
POST
)GET
)GET
)PUT
)DELETE
)Creiamo un nuovo concerto! Questa richiesta invia un POST con i dettagli del concerto in formato JSON. Il server genererà un ID univoco e restituirà l’oggetto concerto completo:
curl -X POST http://localhost:8080/concerts \
-H "Content-Type: application/json" \
-d '{
"artist": "The Rolling Stones",
"date": "2025-05-01",
"venue": "Wembley Stadium",
"price": 150
}'
Creiamone un altro per illustrare la paginazione:
curl -X POST http://localhost:8080/concerts \
-H "Content-Type: application/json" \
-d '{
"artist": "Pink Floyd",
"date": "2025-07-15",
"venue": "Madison Square Garden",
"price": 200
}'
Ottieni tutti i concerti con parametri di paginazione opzionali:
page
: Numero di pagina (default: 1)limit
: Risultati per pagina (default: 10, max: 100)L’endpoint di elenco supporta la paginazione per aiutarti a gestire grandi set di dati dei concerti in modo efficiente. Puoi controllare quanti risultati vedere per pagina e quale pagina visualizzare.
Recupera tutti i concerti (usa la paginazione predefinita):
curl http://localhost:8080/concerts
Ottieni un risultato per pagina:
curl "http://localhost:8080/concerts?page=1&limit=1"
Quando hai bisogno di informazioni dettagliate su un concerto specifico, usa l’endpoint show. Questo è utile per visualizzare i dettagli di singoli concerti o verificare le informazioni dopo creazione/aggiornamenti.
Sostituisci <concertID>
con un ID restituito dalla creazione:
curl http://localhost:8080/concerts/<concertID>
Hai bisogno di cambiare i dettagli di un concerto? L’endpoint di aggiornamento ti permette di modificare le informazioni di un concerto esistente. Devi includere solo i campi che vuoi aggiornare - gli altri campi manterranno i loro valori attuali.
curl -X PUT http://localhost:8080/concerts/<concertID> \
-H "Content-Type: application/json" \
-d '{
"artist": "The Beatles",
"venue": "Madison Square Garden"
}'
Se un concerto deve essere rimosso dal sistema (magari è stato cancellato o inserito per errore), usa l’endpoint di eliminazione. Questa operazione è permanente, quindi usala con attenzione!
curl -X DELETE http://localhost:8080/concerts/<concertID>
Goa genera automaticamente la documentazione OpenAPI per la tua API sia in formato versione 2.x che 3.0.0. Questi file si trovano nella directory gen/http/
.
Prerequisiti
Avvia Swagger UI
docker run -p 8081:8080 swaggerapi/swagger-ui
Visualizza la Documentazione
http://localhost:8081
nel tuo browserhttp://localhost:8080/openapi3.yaml
in Swagger UIOra che hai esplorato le operazioni API di base, scopri di più su come Goa gestisce la codifica e decodifica HTTP per comprendere come vengono elaborate le richieste e le risposte.