簡體   English   中英

為什么我在制作 asp.net web api 時收到此錯誤?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM