I created the Swagger API Definition file using the Swagger API-codegen. However, I am getting an error when I try to pass the request. Can someone plz tell me where am I making mistake? and how can I read the data?
package main
import (
"flag"
"fmt"
"os"
api "newform-api/inputform"
"github.com/deepmap/oapi-codegen/pkg/middleware"
"github.com/labstack/echo/v4"
echomiddleware "github.com/labstack/echo/v4/middleware"
)
// ServerInterface represents all server handlers.
type ServerInterface interface {
Externalhealthcheck(ctx echo.Context) error
NewFormEntry(ctx echo.Context) error
}
func main() {
var port = flag.Int("port", 8080, "Port for test HTTP server")
flag.Parse()
swagger, err := api.GetSwagger()
if err != nil {
fmt.Fprintf(os.Stderr, "Error loading swagger spec\n: %s", err)
os.Exit(1)
}
swagger.Servers = nil
apiData := api.ServerInterfaceWrapper{}
e := echo.New()
e.Use(echomiddleware.Logger())
e.Use(middleware.OapiRequestValidator(swagger))
api.RegisterHandlers(e, apiData.Handler)
e.Logger.Fatal(e.Start(fmt.Sprintf("0.0.0.0:%d", *port)))
}
I am getting the following error:
echo: http: panic serving [::1]:61803: runtime error: invalid memory address or nil pointer dereference
goroutine 21 [running]:
net/http.(*conn).serve.func1(0xc0000b21e0)
/usr/local/go/src/net/http/server.go:1801 +0x147
panic(0x14f7460, 0x18bed00)
/usr/local/go/src/runtime/panic.go:975 +0x47a
newform-api/inputform.(*ServerInterfaceWrapper).Externalhealthcheck(...)
API Definition files: