Odata Web API 2 响应中缺少元数据格式
本文关键字:数据格式 响应 Web API Odata | 更新日期: 2023-09-27 18:31:13
我有一个 web api 2 项目,并希望将模型公开为 Odata 服务,以便它可以查询。
这是我完成的设置:在WebApiConfig.Register()
我有
config.AddODataQueryFilter();
以下代码位于值控制器中
// GET api/values
[EnableQuery (PageSize=1)]
public IQueryable<TestProduct> Get()
{
var str = new List<TestProduct>
{
new TestProduct {Name = "Dark", Value = "Lord"},
new TestProduct {Name = "Dark", Value = "Elf"}
};
var hello = str.AsQueryable();
return hello;
}
当我查询时
http://localhost:51823/api/values?$filter=Name eq 'Elf'
我得到的结果是:
[
{
"Name": "Dark",
"Value": "Elf"
}
]
我缺少$odata.metadata
属性和inlinecount
属性。我怎样才能将其添加到响应中。理想情况下,我会寻找:
[
"odata.metadata":"http://localhost:43111/api/$metadata#TestProducts",
"odata.count":"1",
"value":
{
"Name": "Dark",
"Value": "Elf"
}
]
我不打算使用 EF。
试试这个:
http://localhost:51823/api/values?$filter=Name eq 'Elf'&$inlinecount=allpages
要获取元数据信息,请将 odata=fullmetadata 添加到接受标头,例如:
Accept:application/json;odata=fullmetadata