开放数据协议(OData)是用于构建REST API的标准化协议。 OData v4为REST API指定了许多最佳实践,包括简洁的,面向超媒体的JSON格式。
如何在 .NET 6 中使用 Newtonsoft.Json 序列化整个 Microsoft.AspNetCore.OData.Results.PageResult<T> 对象?
当我使用 newtonsoft 序列化 RageResult 对象时,序列化字符串仅包含“Items”属性中的数据 这是代码: 列表 listString = 新列表 当我使用 newtonsoft 序列化 RageResult 对象时,序列化字符串仅包含“Items”属性中的数据 这是代码: List<string> listString = new List<string> { "Test1", "Test2" }; var pageResultTest = new PageResult<string>(listString, null, 2); string serialized = JsonConvert.SerializeObject(pageResultTest, Formatting.Indented); pageResult对象是这样序列化的: [ "Test1", "Test2" ] 我期望并想要实现的序列化是这样的: { "Items": [ "Test1", "Test2" ], "NextPageLink": null, "Count": 2 } PageResult 专为 Razor Page 应用程序设计,用于生成呈现页面的 IActionResult。它并不意味着用作序列化目的的数据容器。这就是为什么当您尝试直接序列化它时,您无法获得 JSON 中的预期结构。 页面结果 文档 对于您想要的功能,您需要实现自己的自定义对象来表示您想要的结构: public class CustomPageResult<T> { public List<T> Items { get; set; } public string NextPageLink { get; set; } public int Count { get; set; } public CustomPageResult(List<T> items, string nextPageLink, int count) { Items = items; NextPageLink = nextPageLink; Count = count; } } 比你可以序列化: List<string> listString = new List<string> { "Test1", "Test2" }; var customPageResult = new CustomPageResult<string>(listString, null, 2); string serialized = JsonConvert.SerializeObject(customPageResult, Formatting.Indented); 您将得到所需的输出: { "Items": [ "Test1", "Test2" ], "NextPageLink": null, "Count": 2 }
Odata 过滤器 DateTime 将字符串转换为 DateTime 并过滤
我正在尝试检索特定日期之后的所有记录(网络研讨会),如下所示: var 结果 = 等待 graphClient.Solutions.VirtualEvents.Webinars .GetByUserIdAndRoleWithUserIdWithRole("组织...
使用 ASP.NET Core OData 8.0 映射动态 OData 路由
我有一个应用程序,其中 EDM 数据类型是在应用程序运行时生成的(它们甚至可以在运行时更改)。松散地基于 OData DynamicEDMModelCreation 示例 -
我开始使用ElasticDB来存储数据,前端有OData查询来从DB中获取数据(之前使用OData和MongoDB)。我正在寻找一些中间件/适配器/插件类型...
将 OData 过滤器查询转换为 .NET 中的 Elasticsearch 查询?
我想转换 OData 查询: $filter=(ContentProvider%20eq%20'HBO'%20or%20ContentProvider%20eq%20'ParamountPlus')%20and%20ProgramType%20eq%20'系列' ...到 Elasticsearch 查询 DSL,...
如何在 Web API OData Web 服务中禁用格式化程序
在我的 OData Web API Web 服务中,我尝试禁用除 XML 之外的所有格式化程序,以便无论客户端在 Accept 标头中发送什么内容,我的 Web 服务都将始终返回 XML。我的控制...
如何使用 EF 6 在 Web API odata 中实现模型的计算字段
我正在创建一个 Web API odata 控制器,一切都很顺利,直到我尝试将派生字段添加到模型中。我不希望该字段存在于数据库中,并且该字段不需要可查询。
使用 OData 服务 CUAN_IMPORT_SRV 创建营销互动
我正在开发 SAPUI5 应用程序(在 Web IDE 中),该应用程序在 Hybris Marketing 中创建交互。因此我使用 OData 服务 CUAN_IMPORT_SRV。我已经尝试过一个简单的邮递员请求,它......
SAP UI5 版本 1.108.20 propertyChange 替代方案
根据文档,版本 1.108.20 中的类 sap.ui.model.odata.v4.ODataModel 不支持 propertyChange 事件。 但是,propertyChange 事件支持的版本...
我正在开发一个新的 OData 项目,并且第一次尝试使用 Web API 2 来完成它。 OData 提要的安装非常简单,这与 WCF 相比非常棒。 我的问题...
尝试让它发挥作用。即使我只指定一行 (?$select=title),查询也会返回所有行。在 webapiconfig 上我有: var queryAttribute = new QueryableAttribute() ...
当 URL 包含 $select 时,自定义序列化程序无法在 oData 4 的 Web API 2 中工作
我通过继承ODataEntityTypeSerializer实现了自定义序列化器。序列化器通过从 MessageState` 的值获取 BayStateEnum 的名称来设置 MessageStateName 的值。 它...
我正在尝试使用此 URL 在 OData 中进行一些自定义排序 本地主机:82/odata.svc/ComponentPresentations?$filter=TemplateId eq 2894 和publicationId eq 10&$expand=Component/Keywords?$orderby=
错误:不支持的事件“propertyChange”:v4.ODataModel#attachEvent
尝试将函数附加到 sap.ui.model.odata.v4.ODataModel 上的 AttachPropertyChange 方法 onAfterRendering: 函数 () { var oModel = this.getView().getModel(); //基于sap.ui.mo...
Delta<T> 作为 Web api Action 中的 odata 参数
我有一个要求,我想为 odata 中的操作采用两个参数,第一个参数为字符串,第二个参数为增量,其中 T 是实体类型。没有任何语法错误,但每当我...
Odata 过滤器查询不适用于人员字段 DisplayName
我已为我的 Power App 创建了一个 Power Automate 流程,以根据 SLT_Name 导出所有值。我希望用户能够通过部分输入 SLT_Owner 的名称来过滤记录。 SLT...
Dynamics 365 API v2:将销售行添加到现有销售订单
我正在尝试使用 Dynamics 365 Business Central 附带的标准 API 将销售行添加到现有销售订单。但是我找不到 api 请求的正确语法来完成
如何实现自定义方法来通过 url 中的给定参数检查用户是否存在?所以我想发出一个 GET 请求。
我想使用 SAP S/4HANA(2021 版 FP2 SP3 版)中的 OData Web 服务创建时间预订/记录。 我发现 HCM_TIMESHEET_MAN_SRV 作为 OData Web 服务,还可以检索
InvalidOperationException:无法使用 schemaId ..相同的 schemaId 已用于类型
我收到以下错误。 InvalidOperationException:无法将 schemaId“$Registration”用于类型“$PortalService.Models.Registration”。相同的 schemaId 已用于...