我想知道如何为asp核心odata端点启用对xml和其他格式的支持。当前仅支持使用默认配置的格式为json。
为此测试,我在http://localhost:59191/odata/Employee
处构建了一个webapi核心odata服务。
但是http://localhost:59191/odata/Employee?$format=xml
,http://localhost:59191/odata/Employee?$format=atom
最终都提供json。
然后,我尝试使用application/xml
的Accept标头和仍不提供xml格式的atom格式的提琴手。
在startup.cs中,我已经按照以下方式进行了配置
1)在ConfigureServices()
services.AddOData();
2)在Configure()
app.UseMvc(routes =>
{
routes.MapODataServiceRoute("odata", "odata", GetModel());
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
GetModel在哪里,
private static IEdmModel GetModel()
{
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
builder.EntitySet<Employee>("Employee").EntityType.HasKey(x=>x.Id);
builder.EntityType<Employee>().Filter().Count().Select();
return builder.GetEdmModel();
}
感谢您抽出宝贵的时间来做出贡献。