gofiber-study/controller/test/test.go

69 lines
1.8 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"
"gofiber.study.skcks.cn/global"
)
func RegisterController(app *fiber.App) {
2022-10-06 00:01:30 +08:00
group := app.Group("/test")
jwtEncode(group)
jwtDecode(group)
}
// jwtEncode jwt token 生成测试
//
// @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]
func jwtEncode(r fiber.Router) {
r.Add(fiber.MethodPost, "/jwt", func(ctx *fiber.Ctx) error {
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))
})
}
// jwtDecode jwt token 解析测试
//
// @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]
func jwtDecode(r fiber.Router) {
r.Add(fiber.MethodGet, "/jwt", func(ctx *fiber.Ctx) error {
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))
})
}