Как хорошо здесь провести время... (Web API 2.1, .NET 4.5.1)
У меня был один контроллер, который работал отлично:
[RoutePrefix("v1/members")]
public class MembersController : ApiController
{
[Route("{id}")]
public Member Get(string id)
{
DataGateway g = new DataGateway();
return g.GetMember(id);
}
}
Работает по назначению и желанию, например:
/v1/members/12345
Но сегодня я добавил новый контроллер, и он, похоже, вообще не зарегистрирован и не распознан. Он не добавляется на страницы справки и возвращает ошибку 404 Not Found при попытке доступа к нему:
[RoutePrefix("v1/test")]
public class Test : ApiController
{
[Route("{id}")]
public string Get(int id)
{
return "value";
}
}
Как я уже говорил, новый контроллер не отображается на страницах справки и возвращает ошибку 404:
/v1/test/12345
Что я делаю не так?
ОТРЕДАКТИРОВАНО ДОБАВИТЬ:
Я установил трассировку, и она, кажется, даже не попала в нее. Первый контроллер работает нормально и показывает трассировку, новый тестовый контроллер не показывает никакой информации о трассировке.
РЕДАКТИРОВАТЬ 2:
Обновлен код примера, чтобы лучше соответствовать моему реальному коду, который все время был проблемой.
[Route("{id:int}")]
) - person Simon Belanger   schedule 28.03.2014id
является целым числом. (Я говорил о вашем втором маршруте, а не о первом) - person Simon Belanger   schedule 28.03.2014