gpt4 book ai didi

odata - 在 asp.net web api OdataController 中删除 Odata.metadata

转载 作者:行者123 更新时间:2023-12-01 08:12:30 25 4
gpt4 key购买 nike

如何在 odatacontroller 中删除 asp.net odata.metadata 属性。

我有以下代码:

 public IHttpActionResult GetCompanyViewModels(ODataQueryOptions<CompanyViewModel> queryOptions)
{
IQueryable<CompanyViewModel> result = companiesService.GetCompanies();

return Ok<IEnumerable<CompanyViewModel>>(result);
}

返回这个。
 "odata.metadata": "http://localhost:63447/odata/$metadata#CompanyViewModels",
"value":[
{
"Id": 1,
"CompanyName": "Company1"
},
{
"Id": 2,
"CompanyName": "Company2"
}
]

如何删除“odata.metadata”部分。

我试图从约定中删除“MetadataRoutingConvention”,但没有效果。只是使链接无法访问。

最佳答案

添加选项 $format=application/json;odata.metadata=none当查询可以使 odata.metadata(根据 odata 规范实际上应该是 odata.context)不显示在有效负载中。
例如:
http://services.odata.org/V4/Northwind/Northwind.svc/Customers ?$format=application/json;odata.metadata=none

MetadataRoutingConvention专门用于生成~/$metadata的响应.这就是为什么删除它会使您的 http://localhost:63447/odata/ $元数据不可访问。

关于odata - 在 asp.net web api OdataController 中删除 Odata.metadata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32584926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com