gpt4 book ai didi

c# - .NET Core 中是否弃用了 ApiController

转载 作者:IT王子 更新时间:2023-10-29 03:57:18 28 4
gpt4 key购买 nike

ApiController 将在 .NET Core 中弃用”是真的吗?询问,因为我打算在新项目中使用它。

最佳答案

更新 ASP.NET Core 2.1

自 ASP.NET Core 2.1 以来,一组新的类型可用于创建 Web API Controller 。您可以使用 [ApiController] 属性注释您的 Controller ,该属性启用一些新功能,例如自动模型状态验证和绑定(bind)源参数推断。有关详细信息,请参阅文档: https://learn.microsoft.com/en-us/aspnet/core/web-api/index?view=aspnetcore-2.1#annotate-class-with-apicontrollerattribute .


自从 MVC 和 WebAPI 已合并到 ASP.NET Core 中以来,确实不再有特定的 ApiController 类。但是,MVC 的 Controller 类带来了一堆您在仅开发 Web API 时可能不需要的功能,例如 View 和模型绑定(bind)。

如果你想要不同的东西,你有两个选择:

Microsoft.AspNetCore.Mvc.Core 中使用 ControllerBase 类包。

或者

创建您的 ApiController 基类。这里的关键是添加 [ActionContext] 属性,它将当前的 ActionContext 实例注入(inject)到属性中:

[Controller]
public abstract class ApiController
{
[ActionContext]
public ActionContext ActionContext { get; set; }
}

此外,将 [Controller] 属性添加到类以将其标记为 MVC Controller 发现的 Controller 。

在我的 “Web API in MVC 6” blogpost 中查看更多详细信息.

关于c# - .NET Core 中是否弃用了 ApiController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38667445/

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