Ja používam oapi-codegen generovať môj server kód a Echo Labstack ako server.
Keď som sa prejsť Group
stupňa Openapi.RegisterHandlers
miesto Echo
napríklad, vždy som si chybu 400 s {"message":"no matching operation was found"}
pre každú žiadosť v tejto skupine:
swagger, err := Openapi.GetSwagger()
if err != nil {
fmt.Fprintf(os.Stderr, "Error loading swagger spec\n: %s", err)
os.Exit(1)
}
// Use oapi validation middleware to check all requests against the
// OpenAPI schema.
g := e.Group("/api", middleware.OapiRequestValidator(swagger))
Openapi.RegisterHandlers(g, &MyApi{})
Ak chcete odoslať žiadosť /api/foo
tam , kde je foo
je koncový bod rozhrania API definované v vygenerovaný kód servera, dostanem chybu 400. Ak som to /api/<some undefined api>
Tiež som si 400. Ak mám poslať žiadosť o /baz
Som si 404, ako sa očakávalo, pretože to nie je definovaný trasy. Ak nemám prejsť prefix Group()
Som si chybu 400 pre každú požiadavku. Mám rovnaké správanie, ak môžem použiť RegisterHandlersWithBaseURL()