来自ASP.NET CORE 2.0的FromUri

时间:2018-01-10 19:48:16

标签: asp.net-core asp.net-core-2.0

这个问题是因为在我的 ASP.NET CORE 2.0 的MVC项目中,我无法将[FromUri] attribute添加到我的驱动程序中。

我尝试使用像System.Web.Http这样的库,但我不认识它们。然后从Nuget Microsoft.AspNet.WebApi.Core"和"安装这些System.AppDomain.NetCoreApp,导致能够使用System.Web.Http,但由于含糊不清的问题,我不允许使用它,但如果我发现[FromUri]已存在。

主要问题是ASP.NET核心2.0 MVC或WebApi是否存在[FromUri]

如果存在,如何使用它?

2 个答案:

答案 0 :(得分:68)

我想你可能在寻找[FromQuery]https://docs.microsoft.com/en-us/aspnet/core/mvc/models/model-binding#customize-model-binding-behavior-with-attributes

[FromUri]用于Asp.Net WebApi 2,而不是asp.net核心

答案 1 :(得分:10)

TLDR :您可以使用 [FromQuery] [FromRoute] 代替[FromUri]


正如Mike_G在其answer中所述,您可以使用[FromQuery]属性代替[FromUri]。但是在某些情况下,您可能还需要使用Muhammad Umar在注释中指出的[FromRoute]

FromRoute

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

例如:api/countries/1

FromQuery

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

例如:api/countries?id=1

参考:

  1. FromRoute - Microsoft Docs
  2. FromQuery - Microsoft Docs
  3. FromUri - Microsoft Docs