Beispiel
Validate JSON with ShouldBindJSON and stop a Gin handler chain without falling through after Abort
sha256:403c56901efe4436738071fb04de2008bb9bb3d0785ec2d1be1216037744672e
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Validate JSON with ShouldBindJSON and stop a Gin handler chain without falling through after Abort HOW
- Pakete
- github.com/gin-gonic/gin v1.12.0
- Umgebung
- go 1.26
- Erstellt
- 2026-08-17T03:14:37Z
Häufige Annahme
AbortWithStatusJSON immediately returns from the current handler, so code after it cannot run and an explicit return is unnecessary.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- assert binding an empty required name with ShouldBindJSON lets the handler choose HTTP 422 and a JSON error response
- assert AbortWithStatusJSON marks the context aborted and skips the next route handler but code after AbortWithStatusJSON in the current handler still executes
- assert an explicit return after AbortWithStatusJSON prevents current-handler fallthrough as well as downstream-handler execution
- assert middleware context values and a validated JSON name flow to the next handler on a valid request
- assert all requests run through httptest and Engine.ServeHTTP without opening a network listener
Dateien
- NOTES.md
- csx.json
- go.mod
- go.sum
- router.go
- router_test.go
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- go 1.26 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9