65
votes

This question is because in my MVC project with ASP.NET CORE 2.0, I can not add the [FromUri] attribute to my drivers.

I tried using libraries like System.Web.Http, but I did not recognize them. Then install these from Nuget Microsoft.AspNet.WebApi.Core "and" System.AppDomain.NetCoreApp, which resulted in being able to use System.Web.Http but due to ambiguity problems I was not allowed to use it, but if I found that [FromUri] existed.

The main question is whether in ASP.NET core 2.0 MVC or WebApi exists [FromUri] ?

if it exists, how to use it?

2

2 Answers

132
votes

I think you might be looking for [FromQuery]: https://docs.microsoft.com/en-us/aspnet/core/mvc/models/model-binding#customize-model-binding-behavior-with-attributes

[FromUri] is used in Asp.Net WebApi 2, not asp.net core

42
votes

TLDR : You can use [FromQuery] and [FromRoute] in place of [FromUri]


As Mike_G stated in his answer you can use [FromQuery] attribute in place of [FromUri]. But you might also need to use [FromRoute] in certain cases as pointed by Muhammad Umar in comments.

FromRoute

This attribute is used when the parameter is passed as the part of the URL string.

Ex: api/countries/1

FromQuery

As the name implies, FromQuery parameters has to be passed as query strings.

Ex: api/countries?id=1

References:

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