gpt4 book ai didi

c# - WebAPI OData 日期时间序列化

转载 作者:行者123 更新时间:2023-11-30 20:20:24 25 4
gpt4 key购买 nike

我需要更改 OData 序列化 DateTimeDateTimeOffset 的方式。

目前我们使用的是 Microsoft.AspNet.OData 5.9.0

默认格式很可能是 yyyy-MM-dd'T'HH:mm:ss.FFFFFFzzz,但我需要有固定数量的数字,所以类似于 yyyy- MM-dd'T'HH:mm:ss.fffzzz.

到目前为止,我了解到 WebApi OData 不像 WebApi 那样使用 Newtonsoft.Json 进行 Json 序列化,而且很难找到一些如何更改序列化程序行为的示例。

感谢您的帮助!

最佳答案

您可以通过创建自定义有效负载转换器来实现这一点,

  1. 实现一个类 extends class ODataPayloadValueConverter

  2. 覆盖方法 public override object ConvertToPayloadValue(object value, IEdmTypeReference edmTypeReference)

  3. 在方法中进行这样的检查如果(值为 DateTimeOffSet){ 返回“自定义字符串”;

  4. 通过如下设置注册到您的模型model.SetPayloadValueConverter(转换器);

然后响应中的负载将以您自定义的方式显示 DateTimeOffset。

关于c# - WebAPI OData 日期时间序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36839672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com