Я хотел бы знать, как включить поддержку xml и других форматов для конечных точек odata ядра asp.В настоящее время поддерживается только формат, использующий конфигурацию по умолчанию: json.
. Для этого теста я построил службу odata ядра webapi со значением http://localhost:59191/odata/Employee
.
Но http://localhost:59191/odata/Employee?$format=xml
, http://localhost:59191/odata/Employee?$format=atom
и оба в конечном итоге предоставляютjson.
Затем я попытался с помощью fiddler использовать заголовок Accept для application/xml
и формат атома, который все еще не обеспечивает форматирование xml.
В файле 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();
}
Спасибо, что нашли время внести свой вклад.