gpt4 book ai didi

c# - 如果使用命名空间版本路由,如何在 ASP.Net Core API 中设置 RESTful 属性路由

转载 作者:行者123 更新时间:2023-11-30 21:43:51 25 4
gpt4 key购买 nike

我正在构建一个 ASP.Net Core 1.1.0 网络 API。

作为支持性评论,我选择使用 Peter Lazzarino 的版本路由 NuGet 包来允许我根据版本将我的 Controller 分成不同的命名空间(和文件夹)。我按照 Peter 的建议在我的 Startup.cs 中配置了它,它构建时没有错误。我正在使用

var apiPrefix = "api";  

按照 Peter 的建议,在 Startup.cs 中允许我的所有路由以 api 开头。

我想遵循 RESTful 准则并在我的方法中使用 HTTP 动词属性。

我希望我的客户能够转到 http://companyname.com/api/v1/mycontroller/status因为我的 MyController 位于我的 API 项目中的文件夹“Controllers\v1\MyController.cs”中,版本路由库应该能够找到它。

在我的 Controller 中,我有以下内容;

namespace MyProject.Controllers.v1
{
public class MyController : Controller
{

// GET: ~/api/v1/mycontroller/status
[HttpGet("/status")]
public JsonResult Status()
{
return Json(new { status = "API is running" });
}

}
}

但是,导航到 http://companyname.com/api/v1/mycontroller/status给我一个 404 错误。

我试图将这个问题作为评论留在 SO 帖子 How can versioning be done in ASP.NET Core Web Api 中,但我在 StackOverflow 中的声望还不够高,无法发表评论。 :(

所以,希望这里有人可以帮助我。

在此先感谢您提供的任何帮助。

最佳答案

您可以按照 the asp.net core documentation 中的规定在 Controller 上使用路由属性这样你就可以对你的 api 进行版本控制,但是你必须将它添加到每个 Controller 以保持你的代码同步,我不知道你可以在全局添加它的确切位置。希望这有帮助

关于c# - 如果使用命名空间版本路由,如何在 ASP.Net Core API 中设置 RESTful 属性路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41368781/

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