Веб-API маршрутизации затруднительном положении
Мой файл WebApi содержит;
public static void Register(HttpConfiguration config) { // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{name}", defaults: new { name = RouteParameter.Optional } ); }
Я делаю вызов ajax;
<script> $(document).ready(function () { $("#grid").bootgrid(); //onclick event handler to retrieve row info $("#grid").on("click.rs.jquery.bootgrid", function (e, columns, row) { url = 'api/AdminContentApi/' + row.Name; $.ajax({ url: url, type: 'GET', success: function (d) { //Do my stuff here! }, error: function (xhr, textStatus, errorThrown) { alert("Error in operation"); } }); }); }); </script>
и наконец мой код контроллера;
[Authorize(Roles = "Admin")] public class AdminContentApiController : ApiController { [HttpGet] public IHttpActionResult GetContentDetail(string name) { content c = ContentRepository.GetContentByName(name); if (c == null) { return NotFound(); } return Ok(c); } } }
Мой вопрос и проблема в том, что когда вызов вызывается, я ожидаю, что url-адрес будет: api/AdminConTentApi/HOME_1
вместо этого я получаю; /AdminContent/api/AdminContentApi/HOME_L
Где/как/почему/WTF префиксирует url-адрес AdminContent?
Спасибо
Что я уже пробовал:
Согласно всем тутам, которые я читал, я делаю это правильно, но уже несколько часов работаю над этой проблемой и перепробовал все, что описал туц.