gpt4 book ai didi

contentful - 使用 Contentful 检索内容类型的更友好方式

转载 作者:行者123 更新时间:2023-12-04 20:37:42 30 4
gpt4 key购买 nike

我正在评估 Contentful.com 作为 Angular SPA 的内容引擎。

我面临的问题是按内容类型检索条目(例如,获取“博客”类型的所有条目)。如 documentation example 中所述,这是按如下方式完成的:

/spaces/spaceid/entries?access_token=token&content_type=cat



所以在我的情况下,而不是“cat”, content_type="blog"或 content_type="news"将是我期望的交互方式。

我面临的现实是,通过 content_type 检索内容不允许我使用我的内容类型的名称 - 它期望 ID 是一个丑陋的 GUID,所以我的查询看起来像这样:

/spaces/spaceid/entries?access_token=token&content_type=2wKn6yEnZewu2SCCkus4as



这样做的麻烦在于:
  • 对开发人员不友好
  • 不能跨环境移植(即测试空间和生产空间)

  • 我目前能看到的唯一解决方案是在页面加载时预先检索内容类型到 id 映射并使用它 - 但它对性能来说不会那么好。

    该文档似乎总是使用友好可读的内容类型 ID(例如 cat),但这不是我的经验。

    所以,要解决这个问题,有没有:
  • 一种将内容类型设置为具有友好 ID 的方法?或
  • 一种使用不同的查询参数按名称检索条目的方法?
  • 最佳答案

    我曾经有同样的问题,基本上是为了内容类型的预检索,然后是创建一个将名称转换为 if 的小 map 。性能还不错,因为在应用程序启动时只执行一次。 Contentful 还使用 CDN,这使得响应几乎是即时的。

    不管怎样,这是个好消息:虽然你不能通过 Contentful 的用户界面定义内容类型的 ID,你完全可以通过他们的 API 通过 curl 来做到这一点(你也可以使用各种 SDK):

    curl -H 'Authorization: Bearer <access-token>' \ 
    -X PUT \
    -d '{"name": "Blog", "fields": [{"name":"Name","id":"name","type":"Symbol"}]}' \
    https://api.contentful.com/spaces/<spaceId>/content_types/blog

    这将创建一个 ID 为“blog”的内容类型,其中包含一个字段“name”。一旦您创建了这样的内容类型,您也可以直接转到用户界面并向其中添加更多字段。

    关于contentful - 使用 Contentful 检索内容类型的更友好方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32365194/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com