Writing simple app to fetch data from nodejs server.
but it seems not to get the file in browser as well as in POSTMAN. I have tried multiple times to check the urls but to no avail.
here are my files:
app.js
const express = require('express');
const bodyParser = require('body-parser');
const router = require('./Routes/routes');
const hostname = "localhost";
const port = "8055";
const app = express();
app.use(bodyParser.json());
// CORS
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods','GET,POST,PUT,PATCH,DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
});
app.use('/', router);
app.listen(port,hostname, () => {
console.log('Server is running on http://${hostname}:${port}');
})
routes.js
const express = require('express')
var CityListController = require('../Controllers/City')
var RestaurantCityController = require('../Controllers/Restaurants')
var MenuController = require('../Controllers/Menu')
const router = express.Router();
router.get('/getCityList',CityListController.getCityList);
router.get('/getRestaurantsByCity/:cityname', RestaurantCityController.getRestaurantsByCity);
router.get('/getMenu', MenuController.getMenu);
module.exports = router;
Menu.js
const mealtypes = require('../Models/menu.json');
exports.getMenu = (req, res) => {
const resultname = mealtypes.map(items => items.name)
res.status(200).json({
message: "widgets data fetched successfully",
name : resultname
})
}
menu.json goes like this
[
{
"_id": "1",
"name": "Breakfast",
"content": "Start your day with exclusive breakfast options",
"image": "assets/breakfast.png"
},
{
"_id": "2",
"name": "Lunch",
"content": "Start your day with exclusive breakfast options",
"image": "assets/lunch.png"
}
]
error is Cannot GET /getMenu
not sure where the error is because it is a simple route.. not sure what is missing. thanks
bodyParser.json()as it will be auto done by express v4+.