Вставка тела запроса в базу данных - PullRequest
0 голосов
/ 02 марта 2020

Я разрабатываю API с использованием Go, SQLX, postgres и go -swagger.

В обработчике метода POST я получаю тело запроса типа, определенного и проверенного с помощью swagger. После проверки я хотел бы вставить это в таблицу postgres.

Я не нашел много документации по этому вопросу, за исключением следующего фрагмента:

sqlStatement := `
INSERT INTO users (age, email, first_name, last_name)
VALUES ($1, $2, $3, $4)
RETURNING id`
  id := 0
  err = db.QueryRow(sqlStatement, 30, "jon@calhoun.io", "Jonathan", "Calhoun").Scan(&id)

Что означает, что я нужно описать каждое поле структуры, которое я хочу сохранить.

Существует ли метод, который просто принимает структуру для сохранения в таблице?

db.save(struct)

1 Ответ

3 голосов
/ 02 марта 2020

Это в примерах в README :

// Named queries can use structs, so if you have an existing struct (i.e. person := &Person{}) that you have populated, you can pass it in as &person
tx.NamedExec("INSERT INTO person (first_name, last_name, email) VALUES (:first_name, :last_name, :email)", &Person{"Jane", "Citizen", "jane.citzen@example.com"})
...