如何删除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"
}
]
如何删除&#34; odata.metadata&#34;部分。
我试图删除“元数据路由会议”&#39;从约定但它没有效果。只是使链接不可访问。
答案 0 :(得分:3)
在查询时添加选项$format=application/json;odata.metadata=none
可以使odata.metadata(实际上应该是odata.context根据odata规范)没有显示在有效负载中。
例如:
?http://services.odata.org/V4/Northwind/Northwind.svc/Customers $格式=应用/ JSON; odata.metadata =无
MetadataRoutingConvention专门用于生成~/$metadata
的响应。这就是为什么删除它会使您的http://localhost:63447/odata/ $元数据无法访问。