API: Setup Swagger

This commit is contained in:
Arthur Jamet
2024-05-13 18:43:05 +02:00
parent a975ef3d99
commit 41c89a0476
6 changed files with 124 additions and 5 deletions
+9
View File
@@ -5,6 +5,7 @@ import (
"log"
"net/http"
"os"
"strings"
"github.com/go-playground/validator/v10"
"github.com/jmoiron/sqlx"
@@ -12,6 +13,8 @@ import (
"github.com/labstack/echo/v4"
"github.com/labstack/echo/v4/middleware"
_ "github.com/lib/pq"
"github.com/swaggo/echo-swagger"
_ "github.com/zoriya/vex/cmd/docs"
"github.com/zoriya/vex"
)
@@ -35,6 +38,7 @@ func (cv *Validator) Validate(i interface{}) error {
return nil
}
// @title Swagger for VEX API
func main() {
con := fmt.Sprintf(
"postgresql://%v:%v@%v:%v/%v?sslmode=disable",
@@ -63,9 +67,14 @@ func main() {
e.Validator = &Validator{validator: validator.New()}
e.Use(middleware.Logger())
e.GET("/swagger/*", echoSwagger.WrapHandler)
r := e.Group("")
r.Use(echojwt.WithConfig(echojwt.Config{
SigningKey: h.jwtSecret,
Skipper: func(c echo.Context) bool {
return strings.HasPrefix("/swagger/", c.Request().URL.Path)
},
}))
e.GET("/entries", h.GetEntries)