如何在 .Net 7 中将 Query 绑定到数组
在 .Net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。
代码演示
假设我们需要从 query 上接受多个 id 并返回查询的结果。例如: id=1&id=2
在 .Net 7 中,我们可以这样实现:
1 | public ActionResult GetResults([FromQuery]int[] ids) |
这样就可以直接将 id=1&id=2 这样的查询字符串绑定到 ids 数组上。
借助 IParsable 绑定更复杂的类型
如果我们需要绑定的类型比较复杂,例如:
1 | public ActionResult GetResults([FromQuery]MyDate[] dates) |
我们可以通过实现 IParsable<T>
接口来实现自定义的绑定。
1 | public class MyDate : IParsable<MyDate> |
这样就可以通过 dates=1-1&dates=2-2
这样的查询字符串来绑定到 MyDate[]
数组上了。
参考资料
本文采用 Chat OpenAI 辅助注水浇筑而成,如有雷同,完全有可能。