1

使用 go-swagger 成功创建 swagger API 后,我需要自定义应用程序,以便将数据存储到数据库并从数据库中检索数据。

我看到我只能编辑一个生成的文件:/restapi/customize_users.go

    if api.UserCreateUserHandler == nil {
        api.UserCreateUserHandler = user.CreateUserHandlerFunc(func(params user.CreateUserParams) middleware.Responder {
            return middleware.NotImplemented("operation user.CreateUser has not yet been implemented")
        })
    }

通过此修改,我可以在 MySQL 数据库中写入数据

api.UsersCreateUserHandler = users.CreateUserHandlerFunc(func(params users.CreateUserParams) middleware.Responder {

     sql := fmt.Sprintf("INSERT INTO users VALUES (%d, '%s', '%s', '%s')", params.Body.ID, params.Body.Email, params.Body.Password, params.Body.Name)

     insert, err := db.Query(sql)
     if err != nil {
        panic(err)
     }

     defer insert.Close()

     return middleware.ResponderFunc(func(rw http.ResponseWriter, pr runtime.Producer) {
            rw.WriteHeader(200)
        })
    })

但我不知道如何返回 JSON 消息,例如“成功”。

文档不清楚,go-swagger 没有关于如何生成 JSON 作为响应的示例。

swagger.json/yaml 对于生成 JSON 的正确定义是有效的。

如我所见,我必须在那里使用中间件响应和返回。

如何修改 restapi/customize_xxxx.go 文件以获得有效的 JSON 响应。

4

0 回答 0