[英]How to send JSON data instead of logging it to the console
我正在使用 Flutter 中的食品订购应用程序和 Express.js 中的 API 使用 MySql 作为数据库。 我能够连接到数据库并接收 JSON 数据和 console.log() 它们,但我不知道如何将它们发送到应用程序。 任何帮助将不胜感激。
这是代码。
const express = require('express');
const router = express.Router();
const mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: '',
database: 'ala_ainy_db',
connectionLimit: 10,
});
router.get('/', (req, res, next) => {
pool.getConnection(function (err, conn) {
if (err) return;
conn.query('SELECT * FROM restaurants', function (err, rows) {
if (err) {
conn.release();
console.log('failed');
}
rows.forEach((row) => {
console.log(`ID: ${row.id}, Name: ${row.name}`);
});
conn.release();
})
});
});
您可以使用 express res.json()
或res.send()
方法发送您的数据作为响应。
res.json()发送一个 JSON 响应。 此方法发送一个响应(具有正确的内容类型),该响应是使用JSON.stringify()转换为 JSON 字符串的参数。
res.send()发送 HTTP 响应。 body 参数可以是一个 Buffer 对象、一个字符串、一个对象或一个数组。
例子:
const express = require('express');
const router = express.Router();
const mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',
user: 'root',
password: '',
database: 'ala_ainy_db',
connectionLimit: 10,
});
router.get('/', (req, res, next) => {
pool.getConnection(function (err, conn) {
if (err) return;
conn.query('SELECT * FROM restaurants', function (err, rows) {
if (err) {
conn.release();
console.log('failed');
}
conn.release();
res.status(200).json(rows);
})
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.