无法使用 Strapi 的 ?locale={locale_id} 参数获取单个集合类型

问题描述 投票:0回答:1

我试图从 Strapi 获取具有另一个区域设置的单个集合类型,但添加区域设置参数没有帮助。有没有办法获取具有相同 id 但具有另一个语言环境的单个集合类型,就像使用单个类型完成的那样。

这就是我正在尝试的:

https://myapp.url/api/industry-pages/1?locale=en&populate=deep

但是现在如果我想要与另一个语言环境相同的类型,我想做这样的事情:

https://myapp.url/api/industry-pages/1?locale=fi&populate=deep

但是我必须这样做(即使将语言环境参数设置为 en,也返回其他语言环境):

https://myapp.url/api/industry-pages/2?locale=en&populate=deep

有解决方法吗?

localization content-management-system strapi
1个回答
0
投票

我过去也遇到过类似的问题。我的解决方案是将区域设置添加为查询字符串中的最后一个参数。尝试:

https://myapp.url/api/industry-pages/2?populate=deep&locale=en

您可能还想尝试 qs 库

这对我帮助很大,让您可以更精细地处理 URL 查询。我个人喜欢括号格式。例如,

import qs from 'qs';
const yourQueryObject = {
 populate: [
  'page_name',
  'page_location',
  'industry_rating'
 ],
 sort: 'industry_rating',
 locale: 'en'
}
const queryString = qs.stringify(yourQueryObject, { encodeValuesOnly: true, arrayFormat: 'brackets' })

然后就可以抓取了,它会是Strapi格式的:

$fetch(`https://myapp.url/api/industry-pages/1?${queryString}`)
© www.soinside.com 2019 - 2024. All rights reserved.