Я пробовал около часа и не нашел примера, поэтому я подумал, что попрошу здесь.WebApi Routing - map url to api
Я заменяю стандартный контроллер mvc webapi и имею проблемы с маршрутизацией, я изменил имена из-за организации, но они все еще действительны.
my webapi в настоящее время называется SystemAPI в папке контроллеров - я хочу, чтобы у него было другое имя, которое указывает на него в идеале.
URL, мне нужно указать к нему/v1Controller/{ID} Я не могу изменить URL v1Controller как это неподвижная точка с приложениями, я не имею никакого контроля над
моя текущая попытка кодирования
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DocumobiApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "V1Controller",
routeTemplate: "v1Controller/{id}",
defaults: new { id = RouteParameter.Optional }
);
// Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type.
// To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries.
// For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712.
//config.EnableQuerySupport();
var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().FirstOrDefault();
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
}
}
, к которому я получаю ответ
"message":"No HTTP resource was found that matches the request URI 'http://localhost:38685/v1Controller'.","messageDetail":"No route providing a controller name was found to match request URI 'http://localhost:38685/v1Controller'"}
Я уверен, что его что-то достаточно очевидно, но не могу за жизнь мне понять это.
Приветствия,
Стивен
Спасибо Киран! работал для меня, я заменил ваш текст на имя фактического контроллера, которого я хотел поразить. Также я понял, что вам не нужно включать слово-контроллер :-) –