有一个TaskController:ApiController其中包含2个[[Get方法
public string Get(string cNumber){...}
public string Get(string task, string eNumber, string cNumber){...}
通过defualt进行配置
public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.MapHttpAttributeRoutes(); config.Formatters.JsonFormatter.SupportedMediaTypes .Add(new MediaTypeHeaderValue("text/html")); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } }
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
第一个应该像]一样被调用>GET
http://localhost:50159/api/task?cnumber=123456
第二个应该这样称呼>>GET
http://localhost:50159/api/task?enumber=42&cnumber=123456
问题是,总是第一个P.s。这基本上是我第一次使用asp.net MVC,因此请记住这一事实,当您回答或问我其他问题时。GET
被调用。有人可以解释一下为什么以及如何解决吗?
有一个TaskController:ApiController,其中包含2个Get方法公共字符串Get(字符串cNumber){...}公共字符串Get(字符串任务,字符串eNumber,字符串cNumber){...}配置依据...] >
[HttpGet("cnumber")]
public string Get(string cNumber){...}
[HttpGet("eNumber")]
public string Get(string task, string eNumber, string cNumber){...}
并且在从邮递员处调用该api时分别使用api / Task / cnumber和api / Task / enumber。
通过这种方式,您可以创建任意数量的get()方法。
只需按照上面的代码提供到达该get()方法的路由