ASP.NET CORE 2.0 中的 FromUri
Posted
技术标签:
【中文标题】ASP.NET CORE 2.0 中的 FromUri【英文标题】:FromUri in ASP.NET CORE 2.0 【发布时间】:2018-06-20 01:41:53 【问题描述】:这个问题是因为在我使用 ASP.NET CORE 2.0 的 MVC 项目中,我无法将 [FromUri] attribute
添加到我的驱动程序中。
我尝试使用像 System.Web.Http
这样的库,但我不认识它们。然后从 Nuget Microsoft.AspNet.WebApi.Core
"and" System.AppDomain.NetCoreApp
安装这些,导致能够使用 System.Web.Http
但由于歧义问题我不允许使用它,但如果我发现 [FromUri]
存在。
主要问题是在 ASP.NET core 2.0 MVC 或 WebApi 中是否存在[FromUri]
?
如果存在,如何使用?
【问题讨论】:
【参考方案1】:TLDR :您可以使用 [FromQuery]
和 [FromRoute]
代替 [FromUri]
正如 Mike_G 在他的 answer 中所说,您可以使用 [FromQuery]
属性代替 [FromUri]
。但在某些情况下,您可能还需要使用 [FromRoute]
,正如 cmets 中 Muhammad Umar 所指出的那样。
FromRoute
当参数作为 URL 字符串的一部分传递时使用此属性。
例如:api/countries/1
FromQuery
顾名思义,FromQuery 参数必须作为查询字符串传递。
例如:api/countries?id=1
参考资料:
-
FromRoute - Microsoft Docs
FromQuery - Microsoft Docs
FromUri - Microsoft Docs
【讨论】:
【参考方案2】:我想你可能正在寻找[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 核心
【讨论】:
@AlexisZapata 您忘记将 Make 的回复标记为您问题的答案 参见 [FromRoute] 或 [FromQuery]。以上是关于ASP.NET CORE 2.0 中的 FromUri的主要内容,如果未能解决你的问题,请参考以下文章
ApplicationUser在Asp.Net Core 2.0中的ActionFilter中?
如何将 UserManager 注入 ASP.NET Core 2.0 中的另一个服务