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

使用Connect-MLS RESO API按PropertyType查询时的URI及过滤错误问题

解决Connect-MLS RESO API按PropertyType查询的问题

我来帮你捋捋你遇到的这两个查询错误——其实都是没踩准RESO OData规范和Connect-MLS API的具体实现细节导致的,咱们一个个解决:

第一个问题:URI格式错误(使用/PropertyType/Name的查询)

你原来的查询用了斜杠/来引用导航属性,这是不对的。在RESO OData规范里,导航属性的层级引用应该用点号.,而且开头不能加斜杠。另外,URI里用双引号容易引发解析问题,建议换成单引号包裹字符串值。

修正后的查询应该是:

http://odata.reso.org/RESO/OData/Property?$filter=PropertyType/Name eq 'Residential'

不过这里有个前提:PropertyType必须是一个关联到PropertyType实体的导航属性,如果它本身是枚举字段,那这个写法就不适用了——这就得看API的元数据定义。

第二个问题:400错误(直接过滤PropertyType字段)

你用$filter=(PropertyType eq 'Residental')或eq 'DE'报错,大概率是两个原因:

1. 拼写错误

你写的Residental少了一个字母i,正确拼写是Residential,这可能是最直接的问题。

2. 枚举值格式不符

大多数RESO API里,PropertyType是枚举类型,不是普通字符串字段。这时候你需要:

  • 先访问API的元数据端点http://odata.reso.org/RESO/OData/$metadata,找到Property实体下的PropertyType字段定义,看它对应的枚举成员是什么(比如是否是Residential、ResidentialSingleFamily这类标识符,或者是特定的代码如RE)。
  • 如果是枚举,查询时可能需要带上枚举类型的限定符,比如:
    $filter=PropertyType eq RESO.OData.PropertyType'Residential'
    
  • 另外,你用的DE可能不是Connect-MLS API中PropertyType的有效枚举值,一定要以元数据里的定义为准。

额外调试技巧

  • 先查元数据:任何RESO OData API的$metadata端点都是你最好的参考,它会明确告诉你每个字段的类型、枚举值、导航属性关系。
  • 编码URI:如果查询值里有空格或特殊字符,记得用URL编码(比如空格转成%20),或者用单引号包裹字符串避免解析冲突。
  • 简化测试:先构造最简单的查询(比如$filter=PropertyType eq 'Residential',确保拼写正确),再逐步扩展。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:53:34