У меня проблема с получением результатов MySQL Query для вывода в виде JSON через REST API.
Ниже вы можете видеть, что я также пытался return
переменную users
как принудительное выполнение функции JSON.parse(JSON.stringify(users));
.
console.log(users)
регистрирует правильный объект JSON:
{ user1:
{ firstName: 'First Name',
lastName: 'Last Name',
userName: 'user1',
userEmail: 'user@email.com' },
user2:
{ firstName: 'First Name',
lastName: 'Last Name',
userName: 'user2',
userEmail: 'user@email.com' },
user3:
{ firstName: 'First Name',
lastName: 'Last Name',
userName: 'user3',
userEmail: 'user@email.com' },
user4:
{ firstName: 'First Name',
lastName: 'Last Name',
userName: 'user4',
userEmail: 'user@email.com' },
user5:
{ firstName: 'First Name',
lastName: 'Last Name',
userName: 'user5',
userEmail: 'user@email.com' } }
Но я ничего не получаю в Postman и получаю синтаксическую ошибку в браузере с обоимиreturn users ? [users] : []
и return JSON.parse(JSON.stringify(users)) ? [JSON.parse(JSON.stringify(users)) ] : [];
:
SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
import { mysqlConn } from '../../../index';
let users = {};
const usersService = {
getUser(userName) {
if (userName === 'all') {
mysqlConn.query('SELECT first_name,last_name,username,email FROM users LIMIT 5;', [], function (error, results, fields){
if (error) return error;
for (const row in results) {
users[results[row].username] = {
firstName: results[row].first_name,
lastName: results[row].last_name,
userName: results[row].username,
userEmail: results[row].email,
}
}
console.log(JSON.parse(JSON.stringify(users)) );
return JSON.parse(JSON.stringify(users)) ? [JSON.parse(JSON.stringify(users)) ] : [];
// This was the original attempt to get the data to load to Postman
// return users ? [users] : [];
mysqlConn.end();
});
} else {
// This functionality not built out yet. This will be a query similar to the above, only with a 'WHERE' clause in the mysql statement.
// return users[userName] ? [users[userName]] : [];
}
}
};
export default usersService;