2015-10-22 2 views
1

Я знаю, что делал это раньше, но когда я создаю WebAPI по умолчанию из VS и пытаюсь добавить простой метод, например MySpecialMethod, а затем уничтожаю его с клиента с помощью httpClient, это ошибки с 404 или параметр ID отсутствуетСоздание WebAPI с другими именами методов

Я могу назвать значения/Get, делая что-то вроде этого:

GetAsync("api/Values").result 

, но он не работает, если я

GetAsync("api/Values/MySpecialMethod").result 

в два метода идентичны для простого теста.

ответ

3

Убедитесь, что ваш WebApiConfig настроен с /api/{controller}/{action}/{id} записи. Похоже, у вас есть /api/{controller}/{id}

2

Попробуйте использовать RouteAttribute, чтобы помочь прояснить маршруты методов.

public class MyController : ApiController 
{ 
    [Route("api/Values/MySpecialMethod")] 
    public string MySpecialMethod() 
    { 

    } 
} 

Если вы хотите использовать этот метод, не забудьте обновить RouteConfig в AppStart содержать следующие

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

    routes.MapMvcAttributeRoutes(); 
} 
Смежные вопросы