Eu sunt, folosind oapi-codegen pentru a genera meu server de cod și Echo Labstack ca server.
Când trec pe lângă o Group
exemplu să Openapi.RegisterHandlers
în loc de un Echo
de exemplu, am întotdeauna o eroare 400 cu {"message":"no matching operation was found"}
pentru orice solicitare în acest grup:
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{})
Dacă trimiteți cererea /api/foo
, în cazul în care foo
este un API final definit în generat codul de server, primesc o eroare 400. Dacă am face /api/<some undefined api>
Am obține, de asemenea, 400. Dacă am trimite o cerere pentru /baz
Am 404 cum era de așteptat, din moment ce nu este o rută definită. Dacă nu trece un prefix Group()
, Primesc o eroare 400 pentru fiecare cerere. Am obține același comportament, dacă am folosi RegisterHandlersWithBaseURL()