Are FromUri and FromQuery the same?
我熟悉FromBody和FromRoute。 他们似乎很清楚。
我使用FromUri处理映射到列表或string[]的多值参数。
FromQuery听起来很相似,但是有什么区别吗?
-
docs.microsoft.com/zh-CN/aspnet/core/mvc/models/
-
ASP.NET CORE 2.0中FromUri的可能重复项
[FromQuery]属性处理查询参数,即"?"之后的键值对 在URI中。
[FromRoute]属性处理"?"之前的路由参数 在URI中,即路径参数。
例如,如果您配置了路由"orders/{id}",则" id"是您的路由参数,如果某些实际请求类似于" orders / 123?showHistory = true",则" showHistory"是您的查询参数。
Web API中的[FromUri]属性的作用类似于ASP.NET Core MVC中的[FromQuery]。
-
不符合您对FromRoute的定义。 首先,您随后使用的示例不符合您给出的定义(orders / {id}中没有?)。 其次,正确的定义应该是FromRoute绑定到路由参数,即在oders / {id}中,id是路由参数,而不是查询字符串参数,例如,因为此资源路径中没有查询字符串 ,因此在您的示例中,绑定到id的唯一方法是使用FromRoute。 FromQuery将无济于事。
-
@Veverke我在答案的第二行给出的FromRoute定义似乎与您的定义并不矛盾。