Sunucu kodumu oluşturmak için oapı-codegen kullanıyorum ve sunucu olarak Echo Labstack kullanıyorum.
A'yı geçtiğimde Group
örnek için Openapi.RegisterHandlers
yerine bir Echo
örneğin, her zaman 400 hatası alıyorum {"message":"no matching operation was found"}
bu gruptaki herhangi bir istek için:
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{})
İstek gönderirseniz /api/foo
, nere foo
oluşturulan sunucu kodunda tanımlanan bir API uç noktasıdır, 400 hatası alıyorum. Eğer yaparsam /api/<some undefined api>
Ben de 400 alıyorum. Eğer bir istek gönderirsem /baz
Beklendiği gibi 404 alıyorum, çünkü bu tanımlanmış bir rota değil. Eğer bir önek iletmezsem Group()
Her istek için 400 hatası alıyorum. Kullanırsam aynı davranışı alırım RegisterHandlersWithBaseURL()