[英]Why am I getting this error while making a asp.net web api?
Controller.cs
[HttpGet]
public async Task<ActionResult<IEnumerable<RankDistribution>>> GetTodoItems()
{
List<rank> rklist = new List<rank>();
rank rk = new rank
{
rankID = 0,
rankName = "Plastic 1",
playersInRank = 1,
percentInRank = 100f
};
rklist.Add(rk);
var rb = new RankDistribution
{
Id = 0,
rank = rklist
};
return rb;
}
Class.cs
public class RankDistribution
{
public long Id { get; set; }
public List<rank> rank { get; set; }
}
public class rank
{
public string rankName { get; set; }
public int rankID { get; set; }
public int playersInRank { get; set; }
public float percentInRank { get; set; }
}
错误信息
Cannot implicitly convert type 'RankAPI.Models.RankDistribution' to 'Microsoft.AspNetCore.Mvc.ActionResult<System.Collections.Generic.IEnumerable<RankAPI.Models.RankDistribution>>
我最近才开始研究 api,但我对 C# 非常熟悉。 如何转换返回值以使其通过? 谢谢!
您正在返回 RankDistribution 的单个项目
您应该将其包含在列表中并返回列表
var toRet = new List<RankDistribution>();
toRet.Add(rb);
return toRet;
但在我看来,如果你有 RankDistribution 包含要返回的项目内的列表,为什么不只返回 rb 并将方法的语法更改为
ActionResult<RankDistribution>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.