C# 将自定义管线映射到嵌套对象特性
鉴于以下DTO:C# 将自定义管线映射到嵌套对象特性,c#,servicestack,C#,servicestack,鉴于以下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
[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; }
?无法映射到管线中的嵌套属性。对于一般服务API设计,您应该尽可能地保持DTO的平面,因为它更容易被客户访问 尽管ServiceStack允许您使用(即不带引号的JSON)通过QueryString发送复杂类型 所以你可以做:
Routes.Add<Bar>("/bar");
有关详细信息,请参阅此答案
Routes.Add<Bar>("/bar");
/bar?Test={Foo:foo,Bar:bar}