Já používám oapi-codegen generovat můj kód serveru a Echo Labstack jako server.
Když jsem se projít Group
instance Openapi.RegisterHandlers
místo Echo
například, vždy jsem si 400 chybová s {"message":"no matching operation was found"}
pro jakýkoliv požadavek v této skupině:
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{})
Pokud pošlete žádost /api/foo
, kde foo
je API koncový bod definované ve vygenerovaném kódu serveru, dostanu chybu 400. Když to udělám /api/<some undefined api>
Také jsem si 400. Pokud mám poslat žádost o /baz
Dostanu 404 jak se dalo očekávat, protože to není definované trasy. Pokud nechci předat předponu Group()
Dostanu 400 chyba pro každý požadavek. Mám stejné chování, pokud mohu použít RegisterHandlersWithBaseURL()