ASP.NET CORE 2.0 中的 FromUri

88
这个问题是因为在我的MVC项目中,我无法给我的驱动程序添加[FromUri]属性。
我尝试使用像System.Web.Http这样的库,但它们没有被识别。然后从Nuget安装了Microsoft.AspNet.WebApi.Core和System.AppDomain.NetCoreApp,结果能够使用System.Web.Http,但由于模糊性问题,我不能使用它,但是我发现存在[FromUri]。
主要问题是ASP.NET Core 2.0 MVC或WebApi中是否存在[FromUri]?
如果存在,如何使用它?
2个回答

166

8
请参阅 [FromRoute] 或 [FromQuery]。 - Muhammad Umar

75

简述:你可以使用[FromQuery][FromRoute]来代替[FromUri]


正如Mike_G在他的答案中所述,您可以使用[FromQuery]属性代替[FromUri]。但是,正如Muhammad Umar在评论中指出的那样,您可能还需要在某些情况下使用[FromRoute]

FromRoute

当参数作为URL字符串的一部分传递时,使用此属性。

例如:api/countries/1

FromQuery

顾名思义,FromQuery参数必须作为查询字符串传递。

例如:api/countries?id=1

参考资料:

  1. FromRoute - 微软文档
  2. FromQuery - 微软文档
  3. FromUri - 微软文档

1
这应该是被接受的答案。“FromQuery”并不总是适用的,正如例子所说明的那样。 - James

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接