最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

go - Golang Fiber Swagger cant find model :cannot find type definition: models.SignUpParams - Stack Overflow

programmeradmin4浏览0评论

I am trying to use gofiber swagger. When I run swag init I get the following error message.

2025/03/31 12:11:39 Generate swagger docs....
2025/03/31 12:11:39 Generate general API Info, search dir:./
2025/03/31 12:11:39 ParseComment error in file /Projects/adoy/service/auth/handler/users.go :cannot find type definition: models.SignUpParams

here is what my directory structure looks like

- internl
-- models
--- models.SignUpParams


- service
-- auth
--- handler
---- handler.HandleSignUpUser
--- docs // swagger generated
---- docs.go // swagger generated
---- swagger.json // swagger generated
---- swagger.yaml // swagger generated
--- main.go 

Here is what my handler.HandleSignUpUser swagger def looks like

// HandleSignUpUser signs up a user
// @Summary Register a new user
// @Description Register user
// @Accept json
// @Produce json
// @Param request body models.SignUpParams true "Sign up user"
// @Success 200 {object} models.NewSuccessCreated{data=models.User}
// @Failure 400 {object} models.NewErrorBadRequest{}
// @Router /v1/auth/sign-up [post]
func HandleSignUpUser(si *svr.Server) fiber.Handler {
    return func(c *fiber.Ctx) error {
        p := new(models.SignUpParams)
        o := new(models.User)

        if err := c.BodyParser(p); err != nil {
            return c.Status(fiber.StatusBadRequest).JSON(models.NewErrorBadRequest(&err))
        }

        if err := o.LoadSignUpParams(p); err != nil {
            return c.Status(fiber.StatusBadRequest).JSON(models.NewErrorBadRequest(&err))
        }

        result := si.DB.ORM.WithContext(c.Context()).Create(&o)
        if result.Error != nil {
            return c.Status(fiber.StatusBadRequest).JSON(models.NewErrorBadRequest(&result.Error))
        }

        return c.Status(fiber.StatusCreated).JSON(models.NewSuccessCreated(o))
    }
}

I have other svc under service for which I want to setup swagger also. But I am trying to figure out how I can access models from internal for my swagger. My services runs fine without any issue, just running into challenge with swagger.

I go into each service directory and run swag init to setup swagger.

发布评论

评论列表(0)

  1. 暂无评论