我使用ServiceStack。在我的C#DTO中,我有一个属性
public DateTime Created { get; set; }
使用TypeLITE http://type.litesolutions.net/
映射到TypeScriptinterface Instance {
Created: Date;
但是,由于我不想通过API发送JavaScript特定日期格式,因此我使用此ServiceStack设置使用ISO日期
JsConfig.DateHandler = JsonDateHandler.ISO8601;
所以,我在这里不匹配。一种解决方案是改为使用Typescript类
interface Instance {
Created: string;
并在使用时解析日期。我在哪里调用Date.parse('iso-date-string')?雄心勃勃的解决方案是两次使用TypeScript类,一个使用字符串,另一个使用Date。
为了使TypeLITE生成字符串而不是DateTime的日期,我该怎么办?
课程数量相当少,所以我可以手动修复它们。但是,我的想法是,我将有一个特殊的API调用,客户端可以下载TypeScript声明,然后,一个完整的自动TypeLITE会更好。
答案 0 :(得分:6)
您需要为DateTime
:
TypeScript.Definitions()
.ForLoadedAssemblies()
.WithConvertor<DateTime>(t => "string")