использование мультиплексора вместо эха - PullRequest
0 голосов
/ 08 мая 2020

У меня есть API, и в связи с некоторыми новыми требованиями мне нужно изменить несколько конечных точек API. Раньше код сервера писался с использованием структуры mux в Go. Теперь я использую OAPI-codegen , чтобы сгенерировать некоторый шаблонный код сервера из определений API openAPI 3.0. Теперь проблема в том, что этот сгенерированный код использует Echo вместо mux.

Итак, вместо этого:

func RegisterHandlers(router codegen.EchoRouter, si ServerInterface) {
    wrapper := ServerInterfaceWrapper{
        Handler: si,
    }
    router.GET("/pets", wrapper.FindPets)
    router.POST("/pets", wrapper.AddPet)
    router.DELETE("/pets/:id", wrapper.DeletePet)
    router.GET("/pets/:id", wrapper.FindPetById)
}

func SetupHandler() {
    var myApi PetStoreImpl  // This implements the pet store interface
    e := echo.New()
    petstore.RegisterHandlers(e, &myApi)
    ...
}

Я хочу что-то вроде этого в этом формате:

    r := mux.NewRouter()
    r.HandleFunc("/", HomeHandler)
    r.HandleFunc("/products", ProductsHandler)
    r.HandleFunc("/articles", ArticlesHandler)
    http.Handle("/", r)

Можно ли использовать oapi-codegen для генерации стандартного кода, который использует mux вместо Echo? или любым другим способом?

Приветствуются любые указатели / помощь.

...