我正在使用 Next.js (SSR) 和 Storyblok (Headless CMS) 并使用 Storyblok 内容交付 API 从 Storyblok 获取内容的网站上工作。最初,它使用 SSG 方法查看可用链接,然后从那里生成页面,这就是 Next/StoryBlok 教程的大多数向您展示的方式,但是,我需要使用 SSR 方法。
我有一个页面,它有一个默认的 slug,pages/industries
然后在getServerSideProps
方法中,我正在slug
从传递的上下文参数中寻找。如果页面没有在预览模式下使用,那么它将使用query.slug
数据来构建要在 StoryBlok JS 客户端包中使用的路径 ( await Storyblok.get(url, sbParams);
)
但是,当real_path
已配置为另一个值 ( /industry
) 时,query.slug
或 将resolved_path
更新为实际路径值。查询API时,它是404s,因为实际路由仍然在pages/industries
并且这个原始值不在param中context
。getServerSideProps
我认为的一种解决方案是使用查询所有可用链接cdn/links
并将 slug 与 real_path 进行比较,然后根据该比较获取故事 ID,但这似乎不正确(目前正在尝试使其工作和扩展) .
这在预览模式下不是问题,因为请求将 Story ID 传递给我,因此很容易查询 API。
这是查看页面的响应,而不是在预览模式下,您可以看到值。
query: {
slug: [ 'industry' ] },
resolvedUrl: '/industry',
params: { slug: [ 'industry' ] },
locales: undefined,
locale: undefined,
defaultLocale: undefined
}
我怎样才能得到原始的 API 链接来查询?