Отправляю запрос на сервер и в обработчике получаю данные из бд через sequelize
вот код фрагмента:
const products = {
getAll: async () => {
let goods = await Product.findAll({raw:true})
.catch(err => console.log(`DataBase Error ${err}`))
console.log(`goods`);
console.log(goods);
return goods;
},
В консоле вывыдит следующее:
spoiler[nodemon] restarting due to changes...
[nodemon] starting `node --use-strict ./src/app.js`
Server listen on localhost:80
Executing (default): SELECT 1+1 AS result
Executing (default): SELECT "id", "title", "description", "price", "pathImage" FROM "products" AS "product";
app:db Connection has been established successfully. +0ms
goods
[
{
id: 1,
title: 'newItem',
description: 'testItem',
price: 100,
pathImage: null
}
]
При запросе браузер в консоль выводит следуюющее:
res =
appServiceData.js:10 {data: "", status: 204, statusText: "No Content", headers: {…}, config: {…}, …}
appServiceData.js:11 res.data =
????????????????????
Клиентский код:
spoilerclass AppServiceData {
async getResourse(url) {
const res = await axios.get(url);
console.log('res = ');
console.log(res);
console.log('res.data = ');
console.log(res.data);
return res.data;
};
async getProducts() {
let res = await this.getResourse('http://localhost/api/products');
return res;
};
};
Но если в return явно отправить какой-нибудь объект то все нормално
spoilerres =
appServiceData.js:10 {data: "goods", status: 200, statusText: "OK", headers: {…}, config: {…}, …}
appServiceData.js:11 res.data =
appServiceData.js:12 goods
В чем может быть причина, почему no Content?
Edit:
Код сервера:
const path = require('path');
const Koa = require('koa');
const serve = require('koa-static');
const err = require('./middleware/error');
const router = require('./middleware/api/routes');
const debug = require('debug')('app');
const send = require('koa-send');
const staticDir = path.resolve(__dirname, '..', '..', 'public');
const app = new Koa();
app.use(err);
app.use(serve(staticDir));
app.use(router.routes());
app.use(router.allowedMethods());
app.use(async ctx => await send(ctx, 'index.html', { root: staticDir }));
app.listen(3000, () => {
console.log('Server listen on localhost:80');
});
Роутер:
const router = new Router();
const koaBody = convert(KoaBody());
//**products endpoints */
.post('/api/products', async ctx => {
ctx.body = await products.addProduct();
})
.get('/api/products', async ctx => {
ctx.body = await products.getAll();
})