http.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package server
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "github.com/go-nunu/nunu-layout/internal/handler"
  6. "github.com/go-nunu/nunu-layout/internal/middleware"
  7. "github.com/go-nunu/nunu-layout/pkg/helper/resp"
  8. "github.com/go-nunu/nunu-layout/pkg/log"
  9. )
  10. func NewServerHTTP(
  11. log *log.Logger,
  12. jwt *middleware.JWT,
  13. userHandler *handler.UserHandler,
  14. ) (*gin.Engine, func()) {
  15. gin.SetMode(gin.ReleaseMode)
  16. r := gin.Default()
  17. r.Use(
  18. middleware.RequestLogMiddleware(log),
  19. middleware.CORSMiddleware(),
  20. middleware.NoAuth(log),
  21. middleware.ResponseLogMiddleware(log),
  22. //middleware.SignMiddleware(log),
  23. )
  24. r.GET("/", func(ctx *gin.Context) {
  25. resp.HandleSuccess(ctx, map[string]interface{}{
  26. "say": "Hi Nunu!",
  27. })
  28. })
  29. noAuthRouter := r.Use(middleware.NoAuth(log))
  30. {
  31. noAuthRouter.GET("/user", userHandler.GetUserById)
  32. }
  33. // 严格权限路由
  34. strictAuthRouter := r.Use(middleware.StrictAuth(jwt, log))
  35. {
  36. strictAuthRouter.PUT("/user", userHandler.UpdateUser)
  37. }
  38. // 非严格权限路由
  39. noStrictAuthRouter := r.Use(middleware.NoStrictAuth(jwt, log))
  40. {
  41. noStrictAuthRouter.POST("/user", userHandler.CreateUser)
  42. }
  43. return r, func() {
  44. fmt.Println(6666)
  45. }
  46. }