using Microsoft.AspNetCore.Mvc;
namespace MyWebApplication.Controllers
{
public class MyController : ControllerBase
{
// Controller actions
}
}
services.AddControllers();
或者,如果你只想支持API控制器,可以添加以下代码:
services.AddControllers().AddApiControllerOptions(options => {
options.SuppressMapClientErrors = true;
});
[Route("api/[controller]")]
public class MyController : ControllerBase
{
// Controller actions
}
注意,你可以在Startup.cs文件的Configure方法中指定默认路由模板,如下所示:
app.UseEndpoints(endpoints => {
endpoints.MapControllers();
});
这将为所有API控制器提供默认路由。 但是,如果你需要使用不同的路由模板,请使用Route属性,如上所示。
public class MyController : ControllerBase
{
private readonly ILogger _logger;
public MyController(ILogger logger)
{
_logger = logger;
}
// Controller actions
}
这里,ILogger是一个日志记录器服务,它从DI容器中注入。 如果你需要访问其他服务,请注入它们并在需要时使用它们。
通过以下步骤,您可以解决创建Controller错误并使您的ASP.NET Core Web API正常工作。
上一篇:ASP.NetCoreWebAPI在序列化具有下划线属性名称的属性时出现问题
下一篇:ASP.NETCoreWebAPI中出现“Unabletoresolveservicefortypewhileattemptingtoactivate”错误提示