Upon using dotnet new webapi -n API
it produces the API folder with the properties
, obj
and bin
subfolders as in the screenshot below, but it doesn't have a Controllers
folder. Can anyone guide me on this? The project is using .NET 8.0
It seems to be a recent .NET 8 change resulting in the Minimal APIs used by default.
From the docs for dotnet new templates: webapi (with fixed typo - PR @github):
-minimal
|--use-minimal-apis
Create a project that uses the ASP.NET Core minimal API. Default is false, but this option is overridden by--controllers
. Since the default for--controllers
isfalse
, enteringdotnet new webapi
without specifying either option creates a minimal API project.
-controllers
|--use-controllers
Whether to use controllers instead of minimal APIs. If both this option and-minimal
are specified, this option overrides the value specified by-minimal
. Default isfalse
. Available since .NET 8 SDK.
So add -controllers
/--use-controllers
option to the command to get controllers:
dotnet new webapi -n API --use-controllers
Or
dotnet new webapi -n API -controllers