以下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。仍然沒有運氣。
EDIT#2
以下是確切的錯誤消息:
類型 'System.InvalidOperationException' 的異常出現在System.Web.OData.dll 但沒有在用戶代碼中處理。
附加信息:路徑模板 'Company.Functions.GlobalStats'對'GetGlobalStats'的操作在 控制器'Global'不是有效的OData路徑模板。資源不是 找到段「Company.Functions.GlobalStats」。
您是否希望*用名稱空間調用它? – TomDoesCode
@TomDoesCode是的,我認爲它更乾淨,但如果出於某些不明確的原因,我無法使其與命名空間一起工作,那麼我就不會再有選擇了。 – Unlimited071
我將再次嘗試使它與名稱空間一起工作,但爲了讓它在沒有名稱空間的情況下工作,但同時,您應該能夠從'ODataRoute的參數中刪除'Company.Functions.' '屬性和Function.'函數調用的函數來使它在沒有命名空間的情況下工作 – TomDoesCode