使用AddObject添加带空值的查询参数相关技术疑问
关于RestSharp AddObject方法的两个问题解答
1. 是否可将该方式用于添加查询参数?
可以。RestSharp的AddObject方法会根据请求的HTTP方法自动处理参数:
- 当请求为GET时,对象的属性会默认被解析为URL查询参数;
- 如果是POST等其他方法,默认会把参数作为表单数据,但你也可以通过指定参数类型,强制将对象属性转为查询参数,示例代码如下:
var paramsObj = new { status = 1, priority = "high" }; request.AddObject(paramsObj, ParameterType.QueryString);
2. 若对象中存在null值,会抛出异常还是不添加该查询参数?
不会抛出异常,null值对应的属性会被直接忽略,不会生成对应的查询参数或请求参数。比如如果你的对象是:
var paramsObj = new { status = 1, priority = (string)null, ids = new [] { "123", "456" } }; request.AddObject(paramsObj);
最终生成的参数里只会包含status和ids,priority不会被添加到请求中。
内容的提问来源于stack exchange,提问作者hunterlan
相关产品推荐
相关产品推荐

