gpt4 book ai didi

servicestack - Typelite:DTO 中的日期映射到 Date,但实际上是 ISO8601 字符串

转载 作者:行者123 更新时间:2023-12-03 04:20:46 25 4
gpt4 key购买 nike

我使用ServiceStack。在我的 C# DTO 中,我有一个属性

    public DateTime Created  { get; set; }

使用 TypeLITE 映射到 TypeScript http://type.litesolutions.net/

interface Instance {
Created: Date;

但是,由于我不想通过 API 发送 JavaScript 特定日期格式,因此我通过此 ServiceStack 设置使用 ISO 日期

JsConfig.DateHandler = JsonDateHandler.ISO8601;

所以,我这里有一个不匹配的地方。一种解决方案是使用 Typescript 类

interface Instance {
Created: string;

并在使用时解析日期。我应该在哪里调用 Date.parse('iso-date-string') ?雄心勃勃的解决方案是使用两次 TypeScript 类,一次使用字符串,一次使用日期。

为了让 TypeLITE 为 DateTime 生成字符串而不是 Date,我该怎么办?

类的数量相当少,所以我可以手动修复它们。但是,我的想法是,我会有一个特殊的 API 调用,客户端可以在其中下载 TypeScript 声明,然后,一个完整的自动化 TypeLITE 会更好。

最佳答案

您需要为 DateTime 创建一个 TypeLITE 转换器:

TypeScript.Definitions()
.ForLoadedAssemblies()
.WithConvertor<DateTime>(t => "string")

关于servicestack - Typelite:DTO 中的日期映射到 Date,但实际上是 ISO8601 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21350737/

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