![](/img/trans.png)
[英]ASP.NET MVC4 Web API - Control over formatting of returned JSON and what is included?
[英]How to create common method for web api Url in asp.net MVC4
解決方案取決於參數名稱是否重要。 默認情況下,在 Microsoft Web Api 中,查詢字符串參數名稱必須與方法的參數變量名稱匹配。 例如:
如果網址是
"api/MenuData/GetMenu?UserPKId=1"
那么控制器方法必須有以下參數列表
public MyModel CommonWebApiMethod(string MethodName, string UserPKId)
不重要的參數名稱
配置路由:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "MethodName",
routeTemplate: "api/MenuData/{MethodName}",
defaults: new { controller = "Common", action = "CommonWebApiMethod" }
);
}
}
控制器:
public class CommonController : ApiController
{
[HttpPost]
public MyModel CommonWebApiMethod(string MethodName, string parameter)
{
return new MyModel { MethodName = MethodName, Parameter = parameter };
}
}
調用網址:
"api/MenuData/GetMenu?parameter=1"
重要參數名稱
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "ParameterName",
routeTemplate: "api/MenuData/{MethodName}/{parameterName}",
defaults: new { controller = "Common", action = "CommonWebApiMethod" }
);
}
}
控制器:
public class CommonController : ApiController
{
[HttpPost]
public MyModel CommonWebApiMethod(string MethodName, string parameterName, string parameter)
{
return new MyModel { MethodName = MethodName, Parameter = parameter };
}
}
調用網址:
"api/MenuData/GetMenu/UserPKId?parameter=1"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.