gofiber-study/controller/test/test.go

78 lines
1.9 KiB
Go
Raw Normal View History

package test
2022-10-06 00:01:30 +08:00
import (
"github.com/gofiber/fiber/v2"
"gofiber.study.skcks.cn/common/errorx"
"gofiber.study.skcks.cn/common/response"
2022-10-06 16:58:09 +08:00
"gofiber.study.skcks.cn/controller/types"
2022-10-06 00:01:30 +08:00
"gofiber.study.skcks.cn/global"
)
2022-10-06 16:58:09 +08:00
type Controller struct {
*types.Controller
2022-10-06 00:01:30 +08:00
}
2022-10-06 16:58:09 +08:00
func (c *Controller) GetRouter() fiber.Router {
return c.Router
}
func NewController(app *fiber.App) *Controller {
return &Controller{
Controller: types.NewController(app, "/test"),
}
}
// JwtEncode jwt token 生成测试
2022-10-06 00:01:30 +08:00
//
// @Summary jwt token 生成测试
// @Description jwt token 生成测试
// @Tags Test
// @Accept json
// @Produce json
2022-10-06 00:03:56 +08:00
// @Param vo body global.UserClaims true "userClaims"
2022-10-06 00:01:30 +08:00
// @Success 200 {object} response.Response{data=string}
// @Failure default {object} errorx.CodeErrorResponse
// @Router /test/jwt [post]
2022-10-06 16:58:09 +08:00
func (c *Controller) JwtEncode() {
c.Router.Add(fiber.MethodPost, "/jwt", func(ctx *fiber.Ctx) error {
2022-10-06 00:01:30 +08:00
claims := global.UserClaims{}
err := ctx.BodyParser(&claims)
2022-10-06 02:37:04 +08:00
if err = errorx.ParseError(err); err != nil {
return ctx.JSON(err)
2022-10-06 00:01:30 +08:00
}
token, err := global.GetToken(claims)
2022-10-06 02:37:04 +08:00
if err = errorx.ParseError(err); err != nil {
return ctx.JSON(err)
2022-10-06 00:01:30 +08:00
}
return ctx.JSON(response.NewResponse(token))
})
}
2022-10-06 16:58:09 +08:00
// JwtDecode jwt token 解析测试
2022-10-06 00:01:30 +08:00
//
// @Summary jwt token 解析测试
// @Description jwt token 解析测试
// @Tags Test
// @Accept json
// @Produce json
// @Param token query string true "token"
// @Success 200 {object} response.Response{data=global.UserClaims}
// @Failure default {object} errorx.CodeErrorResponse
// @Router /test/jwt [get]
2022-10-06 16:58:09 +08:00
func (c *Controller) JwtDecode() {
c.Router.Add(fiber.MethodGet, "/jwt", func(ctx *fiber.Ctx) error {
2022-10-06 00:01:30 +08:00
token := ctx.Query("token")
claims, err := global.ParseToken(token)
2022-10-06 02:37:04 +08:00
if err = errorx.ParseError(err); err != nil {
return ctx.JSON(err)
2022-10-06 00:01:30 +08:00
}
return ctx.JSON(response.NewResponse(claims))
})
}