我正在使用oapi-codegen生成我的服務(wù)器代碼并使用 Echo Labstack 作為服務(wù)器。當(dāng)我傳遞一個Group實(shí)例Openapi.RegisterHandlers而不是一個實(shí)例時,對于該組中的任何請求Echo,我總是會收到 400 錯誤:{"message":"no matching operation was found"} 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{})如果發(fā)送請求/api/foo,foo生成的服務(wù)器代碼中定義的 API 端點(diǎn)在哪里,我會收到 400 錯誤。如果我這樣做,/api/<some undefined api>我也會得到 400。如果我確實(shí)發(fā)送請求/baz,我會按預(yù)期得到 404,因?yàn)檫@不是定義的路線。如果我沒有將前綴傳遞給Group(),每個請求都會收到 400 錯誤。如果我使用,我會得到相同的行為RegisterHandlersWithBaseURL()
Echo Groups 無法使用 oapi-codegen 處理 OpenAPI 生成的代碼
婷婷同學(xué)_
2022-10-17 10:12:46