【发布时间】:2017-11-02 19:34:33
【问题描述】:
我的操作方法应该是这样的:
public IActionResult GetAll([FromQuery]string page[Number],[FromQuery]string page[Size])
{
//code
}
HTTP Request is like: "GetAll?page%5Bnumber%5D=0&page%5Bsize%5D=100".
问题:参数名称不允许我有方括号。
【问题讨论】:
-
您必须考虑到
name[1]或name[key]不是 HTML 功能。从 HTML 的角度来看,它们只是名称,不是数组。只是某些服务器端应用程序/语言(例如 PHP)将其解释为数组。但同样,它不是一个标准,您不应该不依赖name[key]代表一种字典/列表这一事实 -
同样适用于 Get 参数:
index?a=1&a=2只是 tat:a 有 2 个值;一次用 1,一次用 2。它不是数组,也没有在 HTML/Http 标准中定义。每种语言都决定 tzo 做什么,即只计算第一个或最后一个。只有当它是a[]=1&a[]=2时,有些人可能会创建一个数组,但这完全取决于实现。这就是为什么您应该避免使用此类术语/模式。
标签: asp.net-web-api asp.net-core asp.net-core-mvc asp.net-web-api-routing