You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确构造OData $filter请求?解决Swagger-UI查询报错问题

正确格式化OData $filter请求的方法

核心语法规则

OData的$filter参数有严格的语法要求,针对Id(数值型)和Name(字符串型)的过滤,正确写法如下:

1. 单字段过滤示例

  • 数值类型(如Id):直接用比较运算符eq(等于),无需引号
    GET /api/目标实体名?$filter=Id eq 1001
    
  • 字符串类型(如Name):必须用单引号包裹字符串值
    GET /api/目标实体名?$filter=Name eq '测试名称'
    

2. 多字段组合过滤示例

同时用Id和Name过滤时,用小写的逻辑关键字(and/or)连接条件:

  • 同时满足两个条件(逻辑与):
    GET /api/目标实体名?$filter=Id eq 1001 and Name eq '测试名称'
    
  • 满足任一条件(逻辑或):
    GET /api/目标实体名?$filter=Id eq 1001 or Name eq '测试名称'
    

3. 常见错误规避

  • 字符串值未加单引号:比如Name eq 测试名称会直接触发语法错误
  • 关键字大小写错误:OData要求and/or/eq等关键字必须小写,不能写成AND/OR/EQ
  • 误用普通运算符:不能用=代替eq,OData有专属的比较运算符(eq等于、ne不等于、gt大于等)

Swagger-UI使用提示

在Swagger-UI的参数输入框中,直接填写$filter的条件内容即可,无需额外添加?前缀,例如输入:Id eq 1001 and Name eq '测试名称'

内容的提问来源于stack exchange,提问作者Mustapha Rachidi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 20:58:17