Сначала я бы предложил вам обновить атрибуты маршрутов, следуя предложенному формату
[RoutePrefix("api/products")]
public class ProductsController : ApiController {
//GET api/products
[HttpGet]
[Route("")] //(Default route)
public IHttpActionResult Get() {
return Ok();
}
}
, использующий атрибут [RoutePrefix]
на ApiController и добавляющий атрибут [Route]
к действию.
Далее, 403 Forbidden
обычно происходит, когда вы пытаетесь перейти к каталогу на сайте, где на веб-сайте не включена функция просмотра каталогов, а документ по умолчанию не настроен.
В этом случае у вас может быть фактическая папка, которая конфликтует с маршрутом по умолчанию для ProductsController.
при обновлении маршрута и попытке вызова api/catalog/products
он попытается вернуть фактическое содержимое этой папки, что приведет к сбою, если функция не включена.
Либо удалите, либо переименуйте папку, чтобы она не конфликтовала ни с одним из маршрутов вашего контроллера.
Ссылка Маршрутизация атрибутов в ASP.NET Web API 2