You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Sitefinity默认REST API返回已删除内容问题咨询

解决Sitefinity默认REST API返回回收站内容的问题

我之前在使用Sitefinity默认REST API做外部数据操作时,也碰到过完全一样的糟心问题——明明只想要Live状态的产品结果,回收站里已删除的内容居然也混在返回结果里!好在Sitefinity的API支持OData过滤参数,能轻松搞定这个问题。

下面给你两种实用的过滤方案,你可以根据自己的Sitefinity版本来选:

方案1:直接排除回收站内容

Sitefinity的内容项里有个专门标记是否在回收站的字段IsInRecycleBin,用它过滤最直接:

/api/default/products?$filter=IsInRecycleBin eq false

方案2:仅保留Live状态的正式内容

如果你的需求是只获取已发布的Live版本,同时排除Deleted、Draft等其他状态的内容,就用Status字段过滤:

/api/default/products?$filter=Status eq 'Live'

额外小提示

  • 要是不确定字段是否适配你的Sitefinity版本,可以先不带过滤参数请求API,查看返回的产品对象里包含哪些状态相关字段(比如部分旧版本可能用IsDeleted替代IsInRecycleBin)。
  • 还可以组合多个过滤条件,比如同时确保内容是Live状态且不在回收站:
    /api/default/products?$filter=Status eq 'Live' and IsInRecycleBin eq false
    

不得不说Sitefinity官方文档对这类细节确实覆盖得不够,不过借助OData的标准过滤能力,这类内容筛选问题基本都能解决。

内容的提问来源于stack exchange,提问作者Jake Householder

火山引擎 最新活动