Добавлен второй контроллер в мой проект WebAPI, и он не работает полностью, но первый контроллер работает как положено
URI по умолчанию работает для первого контроллера, чтобы вернуть все записи: http://localhost:59654/api/TidalBatch
Второй контроллер не работает и возвращает соответствующую ошибку: http://localhost:59654/api/TidalBatchConsolidated
Однако, если я передаю {id} для него, он работает, когда я использую идентификатор (показанный пример): http://localhost:59654/api/TidalBatchConsolidated/BAM
Попытка изменения адресов маршрутизации
Конфигурация WebAPI: config.MapHttpAttributeRoutes ();
config.Routes.MapHttpRoute(
name: "TidalBatchApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "TidalBatchConsolidatedApi",
routeTemplate: "api/TidalBatchConsolidated/{id}",
defaults: new { id = RouteParameter.Optional }
);
У меня есть 2 контроллера, TidalBatchController.cs
и TidalBatchConsolidatedController.cs
.Оба наследуются от ApiController
class.
Вот пример моего второго контроллера, который не работает должным образом:
public class TidalBatchConsolidatedController : ApiController
{
public TidalBatchConsolidated GetAll(string id)
{
using (BDW_ProcessingEntities_TidalBatch entities = new BDW_ProcessingEntities_TidalBatch())
{
return entities.TidalBatchConsolidateds.FirstOrDefault(e => e.CompanyAbbr == id);
}
}
}
Когда я перехожу к базовому контроллеру по адресу, он должен возвращатьсяСписок выводит в формате JSON, в зависимости от того, в какую модель данных сущности передается.