【发布时间】:2016-03-17 01:15:11
【问题描述】:
我的 MVC 4 项目 API 路由配置如下:
WebApiConfig.cs:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
var company = System.Configuration.ConfigurationManager.AppSettings["DbCompany"];
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "MyApp/"+ company +"/{id}",
defaults: new { controller = "main" , id = RouteParameter.Optional }
);
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/plain"));
}
}
并且 MainController.cs 包含以下方法:
public JToken Get(string id)
{
...
}
public JToken Get()
{
...
}
[HttpPost]
public JToken DoQuery([FromBody] String query)
{
...
}
public void Post([FromBody] JObject JsonObject)
{
...
}
我想要实现的是任何不是的路线:
route: /MyApp/MyComp/DoQuery
method: POST
ContextType: text/plain
Returns: JToken
使用主控制器的普通 Get/Post 否则在主控制器中使用 DoQuery。
【问题讨论】:
-
请检查我的编辑是否与您的问题相符 - 根据看起来是 WebAPI 的代码,但您的文字似乎是指 MVC 控制器/路由。
-
是的,谢谢。
标签: c# asp.net-mvc asp.net-web-api