来自Wordpress API的基于快速路由的Json数据

来自Wordpress API的基于快速路由的Json数据,wordpress,express,npm,headless,Wordpress,Express,Npm,Headless,我正在用Express、请求承诺模块和pug开发一个博客,使用wordpress API。我想根据wordpress的帖子得到路线 博客主页正在使用router index.js工作并呈现所有数据和帖子,如下所示: router.get('/blog', function(req, res, next) { rp({uri: 'http://www.example.com/wp-json/wp/v2/posts?_embed', json: true}) .then((response) =&

我正在用Express、请求承诺模块和pug开发一个博客,使用wordpress API。我想根据wordpress的帖子得到路线

博客主页正在使用router index.js工作并呈现所有数据和帖子,如下所示:

router.get('/blog', function(req, res, next) {
rp({uri: 'http://www.example.com/wp-json/wp/v2/posts?_embed', json: 
true})
.then((response) => {
console.log(response);
res.render('blog', {
    posts: response, 
    title: 'Blog',
  });

  })
 .catch((err) => {
 console.log(err);
});
});
因此,为了获得到posts端点的路由和特定调用,我想进行如下循环:

  router.get('/blog/' + post.slug , function(req, res, next) {
rp({uri: 'http://www.example.com/wp-json/wp/v2/posts?slug=' + post.slug + '&_embed', json: true})
.then((response) => {
  console.log(response);
  res.render('blog/single', {
      posts: response, 
      title: 'Blog:' + post.title.rendered,

    });

})
.catch((err) => {
  console.log(err);
});
});
最好的方法是什么

已解决:

应用程序不会根据Json响应生成所有可能的路由,而是评估url slug(expess的一部分方法)是否返回包含对象的Json响应。如果是,则将使用该slug呈现文章,如果来自wordpress的响应包含0个元素,则将显示404。由于链接的URL是从博客的主页生成的,基于之前对文章slug的json响应,我们已经知道所有链接都存在

router.get('/blog/:slug', function(req, res, next) {
var slug = req.params.slug;

rp({uri: 'http://www.example.com/wp-json/wp/v2/posts?slug=' + slug + '&_embed', json: true})
.then((response) => {
    console.log(response);
  if(response.length === 0){
     res.render('404', {title: '404 Not found'}); 
  } else {
      res.render('blog/single', {
      posts: response, 
      title: 'Blog | ' + response[0].acf.meta_title,
      metaDesc: response[0].acf.meta_description
    });  
  }   
})
.catch((err) => {
  console.log(err);
});
});

你的目标是什么?你想一次呈现一篇博文吗?总体结果是呈现一篇博文,但这部分只是基于每个博文的json slug创建路由。我创建的“单一”视图用于单独的渲染目的。