使用ServiceStack时,如果调用者使用查询参数(例如“?Foo = 3”),并且还提供具有“Foo”属性的请求正文,则会发生静默覆盖。身体中的版本被丢弃。
作为服务作者,我想至少检测到这种情况已发生,以便我可以警告用户或完全不允许通话。我想避免为这种边缘情况编写自定义扩展,有没有办法?
答案 0 :(得分:0)
您可以通过检查IRequest
来检测服务或RequestFilters中的QueryString和FormData中是否存在相同的属性,例如:
var hasSameProperty = Request.QueryString["Foo"] != null
&& Request.FormData["Foo"] != null;