NodeJS with Contentful not able to respond

3rd Aug’23: I have modified the code like below. Still it does not return back anything: Any clues please?


getCourses = async (req, res) => {

try{
const courses = await cf.api.getEntries({
content_type: ‘course’,
locale: ‘en-US’,
order: ‘-sys.createdAt’, // Ordering the entries by creation date
include: 1 // We use includ
},(err, courses) =>{
if (err) {
return res.status(400).json({ success: false, error: err })
}
if (!courses.length) {
return res
.status(404)
.json({ success: false, error: Movie not found })
}
return res.status(200).json({ success: true, data: courses.items[0] })
})}catch(err){
console.log(“In Catch Block”)
console.log(err)
return res.status(404).json({ success: false, error: Unable to connect })
}
}


Hi Good evening All,
I am using the below code to display content (of type “course”), but when I hit http://localhost:3000/api/courses, nothing happens the browser keeps rotating forever and there is no error messages on console either. The same request works fine in the POSTMAN by using GET method. My sincere request if some one can suggest what is wrong in my code.

POSTMAN GET Request, (For getting courses data from Contentful CMS); it works fine and returns courses JSON data.

cdn.contentful.com/spaces/9f3v4l5x639t/entries?access_token=l83Wr4f12LlnCfo71Jv4NwSyt2x-M1Q0AQ22O5kRuEI&content_type=course&include=2

Actual code which does not work using /api/courses For getting courses data from Contentful CMS
################################
getCourses = async (req, res) => {
try{
cf.api.getEntries({
content_type: ‘course’,
locale: ‘en-US’,
limit: 5,
order: ‘-sys.createdAt’, // Ordering the entries by creation date
include: 2 // We use include param to increase the link level, the include value goes from 1 to 6

          },(err, courses) =>{
        if (err) {
            return res.status(400).json({ success: false, error: err })
        }
        if (!courses.length) {
            return res
                .status(404)
                .json({ success: false, error: `Movie not found` })
        }
        return res.status(200).json({ success: true, data: courses })
    })}catch(err){
    console.log("In Catch Block")
    console.log(err)
    return res.status(404).json({ success: false, error: `Unable to connect`  })
    }
}

cf.js Code


var contentful = require(‘contentful’);

// Configure Contentful

exports.api = contentful.createClient({
space: ‘9f3v4l5x639t’,
accessToken: ‘l83Wr4f12LlnCfo71Jv4NwSyt2x-M1Q0AQ22O5kRuEI’
});


ROUTER CODE:

router.get(‘/movies’, MovieCtrl.getMovies)
router.get(‘/courses’, MovieCtrl.getCourses)
######################################
Request for Movies just works fine and displays JSON data: The only difference is in case of Movies, we are getting movies data from MongoDB instead of contentful