1

After successful creation of swagger API with go-swagger, I need to customise the app, in order to store data to the database and retrieve data out of the database.

I see that only one of the generated files I can edit: /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")
        })
    }

I'm able to write data in MySQL database with this modification

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)
        })
    })

But I don't know how to return JSON message e.g. "Success".

Documentation is not clear, go-swagger don't have examples on how to produce JSON as a response.

swagger.json/yaml is valid with correct definition for producing JSON.

As I see, I must use middleware response with return there.

How to modify restapi/customize_xxxx.go file to get a valid JSON response.

Tiya Jose
  • 1,359
  • 14
  • 24
Sasa Jovanovic
  • 324
  • 2
  • 14

0 Answers0