XDevApi Как вернуть результат .insert()
.insert()
успешно, но следующий результат {result:{}}
в Почтальоне. Как отправить весь объект на экран обратно, чтобы клиент мог запрашивать свойства?
ht tps:https://stackru.com/images/54ae2a5a39fac892364f91d1499edd5310294a70.png
1 ответ
Вы не можете, потому что Result
Экземпляр не может быть напрямую сериализован в JSON, который, в конце концов, является форматом, который отправляется обратно клиенту через HTTP-ответ. Вам необходимо создать простой объект JavaScript на стороне сервера, содержащий все необходимые вам свойства, которые, в свою очередь, будут правильно сериализованы в JSON.
В случае обычного insert()
в конечном итоге единственными "интересными" данными может быть количество вставленных элементов, AUTO_INCREMENT
подсчитать (если применимо) и подробные сведения обо всех созданных предупреждениях. Все остальное к такой операции неприменимо.
table.insert(/* something */)
.execute()
.then(out => {
const json = {
items: out.getAffectedItemsCount(),
auto_increment: out.getAutoIncrementValue()
}
if (out.getWarningsCount() > 0) {
json.warnings = out.getWarnings()
}
res.status(200).send(json)
})
Отказ от ответственности: я ведущий разработчик MySQL X DevAPI Connector для Node.js