请你在下面帮忙。
我需要返回api响应作为IEnumerable类型的JSON响应,以及我需要将自己的json属性附加到此返回对象的响应。
private async Task<IEnumerable<Funds>> GetFundDetails(int productid)
{
var action = $"productfunds/{productid}/detail";
var res = await HttpClient.GetAsync($"{BaseResource}{action}");
res.EnsureSuccessStatusCode();
var collection = await res.Content.ReadAsAsync<Dto.FundDetail>();
var items = (collection.Funds ?? Enumerable.Empty<Dto.Funds>()).Select<Dto.FundDetail, FundAsset>(MapFunds);
return items;
}
回应:
{
"items": [
{
"fundId": "036",
"fundName": "ABC Fund",
"amount": 1248111.26
},
{
"fundId": "037",
"fundName": "XYZ Fund",
"amount": 7858564.84
}
]
}
预期回应:
{
"items": [
{
"fundId": "036",
"fundName": "ABC Fund",
"amount": 1248111.26
},
{
"fundId": "037",
"fundName": "XYZ Fund",
"amount": 7858564.84
}
],
ProductName: "PQR Product"
ProductId: "1001"
}
- &GT;我需要从集合对象中追加ProductName和ProductId,它们是Dto.FundDetail的属性。
答案 0 :(得分:0)
您应该制作包含Dto.Funds
,ProductId
和ProductName
的新模型,
像这样的事情:
public class NewModelToReturn{
public List<Dto.Funds> Funds{get;set;}
public string ProductName;
public string ProductId;
}
顺便说一下,我还鼓励您阅读我的博客文章,了解如何设计ASP.NET Web Api响应,以了解有关返回一致的Web Api响应(包括成功和失败响应)的更多信息:https://www.vladopandzic.com/asp-net-web-api/building-consistent-responses-asp-net-web-api/