gpt4 book ai didi

servicestack - 使用现有的 Poco 作为 ServiceStack DTO

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

我喜欢使用新的 api i ServiceStack,并且在我喜欢保持不变的遗留项目中有一些 Pocos。然而,在我的 ServiceStack 项目中将它们复制到 Dto 感觉有点麻烦。我可以偷懒并以某种方式“传递”属性给我的旧 pocos 吗?

这适用于 JsonServiceClient,但为 json 增加了一个额外的级别,我不喜欢:

[Route("/legacytype", "POST,OPTIONS")]
public class RequestLegacyTypePost : IReturn<int>
{
public LegacyTypeLegacyType{ get; set; }
}

public class LegacyTypeService : Service
{
public object Post(RequestLegacyTypePost request)
{
return db.Insert(request.LegacyType);
}
}

将属性复制粘贴到 DTO 方式自然可以正常工作:
[Route("/legacytype", "POST,OPTIONS")]
public class RequestLegacyTypePost : IReturn<int>
{
public int Id { get; set; }
public string SomeProp { get; set; }
public string OtherProp { get; set; }
}

也许那个简单是最佳实践?

最佳答案

ServiceStack 允许您重新使用任何现有的 Poco 作为请求 DTO,如果您不想修改现有的旧 dll,那么您可以在 AppHost.Configure() 中使用 Fluent API 非侵入性地添加路由:

Routes
.Add<LegacyTypeLegacyType>("/legacytype", "POST,OPTIONS");

关于servicestack - 使用现有的 Poco 作为 ServiceStack DTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15522407/

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