Contentful Content Management API能否单次请求同时创建并发布条目?
Contentful CMA 是否支持单次请求同时完成条目创建与发布?
目前Contentful的Content Management API(CMA)原生不支持通过单次请求同时完成条目的创建和发布操作,必须分两次请求完成。
你在创建请求中添加X-Contentful-Version不生效是正常的:该头是Contentful用于乐观并发控制的参数,仅在对已有资源进行修改操作(发布、更新、归档、删除等)时生效,创建条目时版本号由服务端自动生成,用户携带的该参数会被直接忽略。
你可以优化现有调用流程减少多余请求:创建请求成功后,响应头中会直接返回新条目的初始版本号(X-Contentful-Version值,新创建的条目初始版本固定为1),你可以直接提取该值作为发布请求的头参数,不需要额外发起查询请求获取版本号。
创建请求示例:
curl --include \ --request PUT \ --header 'Authorization: Bearer <cma_token>' \ --header 'X-Contentful-Content-Type: something' \ --data-binary <request body as JSON> https://api.contentful.com/spaces/<space_id>/environments/<env_id>/entries/<entry_id>
发布请求示例:
curl --include \ --request PUT \ --header 'Authorization: Bearer <cma_token>' \ --header 'X-Contentful-Version: <published version>' \ https://api.contentful.com/spaces/<space_id>/environments/<env_id>/entries/<entry_id>/published
如果嫌手动处理两次请求麻烦,可以使用Contentful官方提供的各语言SDK,大部分SDK都封装了「创建并发布」的快捷方法,调用后SDK会自动完成两次请求的逻辑,不需要手动处理参数传递,但底层依然遵循原生API的两步规则,没有绕过限制。
内容的提问来源于stack exchange,提问作者Mitya
相关产品推荐
相关产品推荐

