Używam oapi-codegen do generowania swojego kodu po stronie serwera i Echo Labstack jako serwer.
Gdy przechodzę obok Group
przykład dla Openapi.RegisterHandlers
zamiast Echo
na przykład, zawsze pojawia się błąd 400 z {"message":"no matching operation was found"}
dla każdego zapytania w tej grupie:
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{})
Jeśli wyślij zapytanie /api/foo
gdzie foo
jest ostatecznym punktem API, określonej w generowanych kodzie serwera, pojawia się błąd: 400. Jeśli to zrobię /api/<some undefined api>
Ja też dostaję 400. Jeśli wyślę zapytanie na /baz
Dostaję 404, zgodnie z oczekiwaniami, ponieważ to nie jest konkretną trasę. Jeśli nie przekażę prefiks w Group()
, pojawia się błąd: 400 dla każdego żądania. Mam takie samo zachowanie, jeśli używam RegisterHandlersWithBaseURL()