Следующая конфигурация OData выдает сообщение об ошибке: «... Ресурс не найден для сегмента ...».OData v4 Ресурс не найден для сегмента
И контроллер:
public class GlobalController : CompanyController
{
[HttpGet]
[ODataRoute("Company.Functions.GlobalStats")]
public async Task<IHttpActionResult> GetGlobalStats()
{
var stats = await Company.GlobalStats.GetAsync();
return Ok(stats);
}
}
Идея заключается в том, чтобы иметь конечную точку вроде следующего:
http://api.company.com/odata/Company.Functions.GlobalStats
Пожалуйста, помогите мне выяснить, что мне не хватает в этой конфигурации ,
EDIT # 1
Я также попытался регистрации GlobalStats
как ComplexType. Еще не повезло.
РЕДАКТИРОВАТЬ # 2
Ниже приводится точное сообщение об ошибке:
Исключение типа 'System.InvalidOperationException' произошло в System.Web.OData.dll , но не был обрабатывается в коде пользователя.
Дополнительная информация: шаблон пути «Company.Functions.GlobalStats» на акции «GetGlobalStats» в контроллера «Global» не шаблон действует OData путь. Ресурс не найден для сегмента 'Company.Functions.GlobalStats'.
Вы хотите, чтобы вы называли это пространством имен? – TomDoesCode
@TomDoesCode Да, это чище, я думаю, хотя, если по какой-то неясной причине я не могу заставить его работать с пространством имен, ну тогда уже нет выбора. – Unlimited071
Я собираюсь попробовать еще раз, чтобы заставить его работать с пространством имен, но чтобы заставить его работать без пространства имен, но в то же время вы должны просто удалить 'Company.Functions.' из параметра для' ODataRoute 'и' Functions.' из параметра для вызова функции Function, чтобы заставить его работать без пространства имен. – TomDoesCode