gpt4 book ai didi

c# - REST 服务,List 返回带有 ArrayOf 前缀

转载 作者:行者123 更新时间:2023-11-30 17:11:45 24 4
gpt4 key购买 nike

我真的是 .NET 编码的新手。我一直在尝试创建一个休息网络服务。

代码如下:

namespace RestService
{
[ServiceContract]
public class RestServiceImpl
{
[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "foo")]
List<Data> test()
{
OrderList ol = new OrderList();
List<Data> comments = new List<Data>();
comments.Add(new Data { Name = "sdf" });
comments.Add(new Data { Name = "sdf" });
ol.Order = comments;
return ol.Order;
}

[CollectionDataContract]
public class OrderList: List<Data>
{
[DataMember]
public List<Data> Order{ get; set; }
}

[DataContract(Name = "Data")]
public class Data
{
[DataMember]
public string Name;
}
}
}

这是我得到的输出

<ArrayOfData>
<Data>
<Name>sdf</Name>
</Data>
<Data>
<Name>sdf</Name>
</Data>
</ArrayOfData>

我期望得到的是

<OrderList>
<Data>
<Name>sdf</Name>
</Data>
<Data>
<Name>sdf</Name>
</Data>
</OrderList>

希望有人能告诉我我错过了什么。

编辑:如果我更改代码,那么我将返回订单列表 obj,而不仅仅是订单 facepalm

  OrderList test()
{
OrderList ol = new OrderList();
List<Data> comments = new List<Data>();
comments.Add(new Data { Name = "sdf" });
comments.Add(new Data { Name = "sdf" });
ol.Order = comments;
return ol;
}

[CollectionDataContract (Name = "OrderList")]
public class OrderList: List<Data>
{

[DataMember]
public List<Data> Order{ get; set; }

}

它仍然没有给我我所期望的它只是给 med 以下内容:

<OrderList/>

列表中没有元素,帮助仍然适用

最佳答案

尝试使用 Name 属性

   [CollectionDataContract(Name="OrderList")]
public class OrderList: List<Data>

关于c# - REST 服务,List 返回带有 ArrayOf 前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11207872/

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