I am trying to find the difference in terms of how URL matching is different in both these frameworks
I know the following is true for ASP.Net Web API, would like to know is it true for ASP.NET core also?
Action name used to derive the HTTP method if it's not explicitly specified, for e.g
public int GetById(int Id);Here no HTTP method specified but due to convention it will only be matched to get requests
If HTTP method is not specified and it cannot be derived from the action name also, then the default is POST
Parameters also participate in matching the URL , like below
// GET api/values/get public IEnumerable<string> Get() { return new string[] { "value1", "value2" }; } // GET api/values/get/5 public string Get(int id) { return "value"; }The above code works fine in ASP.Net Web API but it gives the following exception in ASP.NET Core
AmbiguousActionException: Multiple actions matched.
ASP.Net Web API Route
Note: I know how to fix the error, would like to know what has changed in ASP.Net Core's URL matching algorithm.


UseMvcis old (2.0)./api/values/get. Actually this new behavior in theasp.net coremakes more sense and I'm not so sure if the old asp.net is different as probably wrongly assumed by you. Wrong assumption happens everywhere.