Go -Swagger, как получить JSON ответ с промежуточным ПО - PullRequest
1 голос
/ 06 февраля 2020

После успешного создания Swagger API с go -swagger мне нужно настроить приложение, чтобы хранить данные в базе данных и извлекать данные из базы данных.

Я вижу, что только один из сгенерированных файлов, которые я могу редактировать: /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 -wagger не имеет примеров того, как создать JSON в качестве ответа.

swagger.json / yaml действителен с правильным определением для создания JSON.

Как я вижу, я должен использовать ответ промежуточного программного обеспечения с возвратом туда.

Как изменить restpi /customize_xxxx.go файл, чтобы получить действительный JSON ответ.

...