gpt4 book ai didi

c# - .NET Core MVC Web API Controller 不返回数据,尽管与返回数据的 Controller 相同

转载 作者:太空宇宙 更新时间:2023-11-03 15:04:26 26 4
gpt4 key购买 nike

我正在尝试使用 .NET Core 构建 web api

我已经创建了一些示例数据并在默认创建的 ValuesController 中的默认 Get() 函数中返回它

namespace CoreWebAppMultiFunction.Controllers
{
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[HttpGet]
public List<Info> Get()
{
List<Info> info = new List<Info>();
info.Add(new Info { ID = 0, Data = "this is on the test", Read = true });
info.Add(new Info { ID = 2, Data = "this is also on the test", Read = false });
return info;
}

// GET api/values/5
[HttpGet("{id}")]
public string Get(int id)
{
return "value";
}
}
}

但是当我创建一个新 Controller 时,新 Controller 不返回任何东西,只是一个空白的浏览器窗口。浏览器控制台显示 404:无法使用我尝试使用的每个 URL 加载资源。

namespace CoreWebAppMultiFunction.Controllers
{
[Route("MoreInfo/[controller]")]
public class MoreInfoController : Controller
{
[HttpGet]
public SomeMoreInfo SomeInfo()
{
return new SomeMoreInfo { ID = 0, data = "data", yesno = true };
}
}
}

有没有可能是我试图在浏览器 URL 中错误地访问它?还是我设置 Controller 的方式有问题?

提前致谢

最佳答案

事实证明,在类上方添加 route 会隐藏除 HttpGet 函数之外的所有函数。如果有多个,它们将被视为过载,或者服务根本不返回任何内容。

跟随自动创建的示例类似乎是一个糟糕的举动,让我感到困惑。

关于c# - .NET Core MVC Web API Controller 不返回数据,尽管与返回数据的 Controller 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44388049/

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