Nancy 通过以下方式将我的查询字符串和表单值传递给我的处理程序dynamic
多变的。下面的示例显示了通过 Nancy 请求传递到 POST 处理程序的表单值,例如Request.Form.xxx
.
Handler
Post["/"] = _ =>
{
var userId = (string) Request.Form.userid;
if (userId.IsEmpty()) return HttpStatusCode.UnprocessableEntity;
return HttpStatusCode.OK;
};
你可以看到我正在投射userid
到一个字符串,然后使用字符串扩展方法检查该值是否为 null 或空字符串(相当于string.IsNullOrEmpty()
).
我更喜欢的是在动态类型上使用扩展方法,这样我就可以在做其他事情之前执行健全性检查。我想要这样的代码:
if(Request.Form.userid.IsEmpty()) return HttpStatusCode.UnprocessableEntity;
但是,您不能使用扩展方法dynamic
类型。此外,您无法通过反射检查属性是否存在。欢迎来到德国航天中心。
Question
执行预检查以确保预期的查询/表单值已传递给我的 Nancy 处理程序,最简单、最安全的方法是什么?
Thanks
Request.Form.userid.HasValue
适用于所有 DynamicDictionary 成员,例如表单、查询和路由参数
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)