gpt4 book ai didi

c# - 将自定义路由映射到嵌套对象属性

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:15 25 4
gpt4 key购买 nike

给定以下 DTO:

[DataContract]
public class Foo
{
[DataMember]
public string Boo { get; set; }
[DataMember]
public string Far { get; set; }
}

[DataContract]
public class Bar
{
[DataMember]
public Foo Test { get; set; }

// other members
}

我想添加一条路线:

Add<Bar>("/...(other members).../{Test.Boo}/{Test.Far}/

这可能吗?如果是这样的话,情况会如何改变

[DataMember]
public Foo Test { get; set; }

更改为:

[DataMember]
public Foo[] Test { get; set; }

?

最佳答案

您不能映射到路由中的嵌套属性。对于通用服务 API 设计,您的目标应该是使 DTO 尽可能平坦,因为它更容易被客户访问。

尽管 ServiceStack 确实允许您使用 JSV Format 通过 QueryString 发送复杂类型(即不带引号的 JSON)。

所以你可以这样做:

Routes.Add<Bar>("/bar");

并且能够通过以下方式调用您的服务:

/bar?Test={Foo:foo,Bar:bar}

有关 Routing in ServiceStack 的更多详细信息,请参阅此答案.

关于c# - 将自定义路由映射到嵌套对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12465894/

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