javascript 使用Contentful代码的NodeJS无法正常工作

rbl8hiat  于 2023-08-02  发布在  Java
关注(0)|答案(1)|浏览(97)

我正在使用下面的代码来显示内容(类型为“course”),但是当我点击http://localhost:3000/api/courses时,什么也没有发生,浏览器永远旋转,控制台上也没有错误消息。在POSTMAN中,通过使用GET方法,相同的请求可以正常工作。我真诚的请求,如果有人可以建议我的代码中有什么错误。

  1. POSTMAN GET请求,(用于从Contentful CMS获取课程数据);它工作正常,并返回课程JSON数据。
    cdn.contentful.com/spaces/9f3v4l5x639t/entries?access_token=l83Wr4f12LlnCfo71Jv4NwSyt2x-M1Q0AQ22O5kRuEI&content_type=course&include=2
    1.使用http://localhost:3000/api/courses无法工作的实际代码用于从Contentful CMS获取课程数据
getCourses = async (req, res) => {
const client = contentful.createClient({
    space: '9f3v4l5x639t',
    accessToken: 'l83Wr4f12LlnCfo71Jv4NwSyt2x-M1Q0AQ22O5kRuEI'
  });

  client.getEntries({
    content_type: 'course',
    locale: 'en-US',
    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(err))
}

字符串
1.工艺路线代码:

router.get('/movies', MovieCtrl.getMovies)
router.get('/courses', MovieCtrl.getCourses)

  1. Request for Movies工作正常,并显示JSON数据:我从MongoDB获取电影数据的唯一区别是==> http://localhost:3000/api/movies
cqoc49vn

cqoc49vn1#

getEntries是一个异步函数,在此之前尝试等待,这可能是本例中的问题

getCourses = async (req, res) => {
 const client = contentful.createClient({
 space: '9f3v4l5x639t',
 accessToken: 'l83Wr4f12LlnCfo71Jv4NwSyt2x-M1Q0AQ22O5kRuEI'
});

try {
const courses = await client.getEntries({
  content_type: 'course',
  locale: 'en-US',
  order: '-sys.createdAt',
  include: 2
});

if (!courses.items.length) {
  return res.status(404).json({ success: false, error: `Courses not 
 found` });
}

return res.status(200).json({ success: true, data: courses.items });
 } catch (err) {
console.error(err);
return res.status(500).json({ success: false, error: 'Server error' });
}
}

字符串

相关问题