为何Postman调用REST端点时URL会自动拼接null=null参数
你提到的原始请求端点为:https://{myCompany}.sharepoint.com/sites/{mySite}/_api/web/getbytitle('myList')/Items?&filter=Title eq 234
你的URL编码预期存在认知偏差
URL中的?是路径段和查询参数段的分隔保留字符,&是多个查询参数之间的分隔保留字符,只有当这类字符出现在参数名、参数值的内容本身时才需要做百分号编码。如果把作为结构分隔符的?编码为%3F,服务器会把后续所有内容识别为路径的一部分,无法正常解析查询参数,请求反而会失败。
?&filter被处理为?null=null&filter的原因
这是Postman内置的参数解析容错机制导致的:
- 你编写的原始路径中,
?后面直接跟了&,相当于主动声明了一个没有参数名、也没有参数值的空查询参数位 - Postman解析到这种不符合规范的空参数位时,会默认把缺失的参数名和参数值都替换为
null作为占位,因此生成了null=null这个额外参数
携带null=null的请求仍可正常执行的原因
SharePoint的REST接口处理查询参数时,会自动忽略所有自身不识别的参数,null=null不属于SharePoint REST的标准查询参数,不会对业务逻辑产生任何影响,接口只会读取你传入的filter参数执行查询,因此请求可以正常返回结果。
优化建议
你可以直接把原始端点修正为规范格式,去掉?后面多余的&即可:https://{myCompany}.sharepoint.com/sites/{mySite}/_api/web/getbytitle('myList')/Items?filter=Title eq 234
修正后Postman解析时就不会生成多余的null=null参数。
内容的提问来源于stack exchange,提问作者George Kerwood
相关产品推荐
相关产品推荐

