У меня есть API, сгенерированный с помощью go -swagger. Затем я реализовал промежуточное программное обеспечение, чтобы иметь возможность обслуживать мой пользовательский интерфейс для заданных c путей. Тем не менее, он только обслуживает файл index. html в моем каталоге swagger-ui, поэтому пользовательский интерфейс не работает, так как ему не хватает всего другого javascipt, и т. Д. c.
Я просто не могу показаться выяснить, что происходит и почему это не подает их. Я, конечно, мог бы использовать некоторую помощь, если у кого-то есть какие-либо идеи.
Моя структура файлов:
/api-project
cmd
main.go
gen
swagger-ui
index.html
swagger.json
swagger-ui.css
favicon-16x16.png
...
Промежуточное программное обеспечение для обслуживания stati c swagger -уй сайт:
func UIMiddleware(handler http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
// Shortcut helpers for swagger-ui
if r.URL.String() == "/swagger-ui" || r.URL.String() == "/api/help" {
http.Redirect(w, r, "/swagger-ui/", http.StatusFound)
return
}
// Serving ./swagger-ui/
if r.URL.String() == "/swagger-ui/" {
Logger.Printf("Serving up SwaggerUI")
http.StripPrefix("/swagger-ui/", http.FileServer(http.Dir("swagger-ui"))).ServeHTTP(w, r)
return
}
handler.ServeHTTP(w, r)
})
}