.net core “为什么?”;dotnet新角度;及;dotnet新webapi“;创建不同的控制器?
为什么这两个.NET核心命令为Web API控制器创建不同的签名.net core “为什么?”;dotnet新角度;及;dotnet新webapi“;创建不同的控制器?,.net-core,.net Core,为什么这两个.NET核心命令为Web API控制器创建不同的签名 dotnet new angular 将创造 [Route("api/[controller]")] public class SampleDataController : Controller [Route("api/[controller]")] [ApiController] public class ValuesController : ControllerBase 而dotnet新webapi 将创造 [Route
dotnet new angular
将创造
[Route("api/[controller]")]
public class SampleDataController : Controller
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
而dotnet新webapi
将创造
[Route("api/[controller]")]
public class SampleDataController : Controller
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
在这两种情况下,它都会创建web API。但是,在dotnet new webapi
中,它应用ApiController
属性并从ControllerBase派生,而在dotnet new angular
中,没有任何ApiController
属性,它从Controller
派生
这适用于相同版本的.NET Core 2.1。为什么?dotnet新的webapi生成您想要模拟的控制器。使用ApiController属性和ControllerBase是最新/推荐的方法。并非所有模板都已更新为最新版本,因此在本例中,WebApi模板是最新的,这就是为什么您会看到不同的ControllerBase和ApiController属性,角度模板尚未更新,我相信它仍然使用角度5。