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
Why is 'dotnet new webapi' command not producing the controllers folder?
1.2k Views Asked by haroon khan At
2
There are 2 best solutions below
2

That command creates a Minimal API by default as shown here. A minimal web API does not have controllers.
Since the default for -controllers is false, entering dotnet new webapi
without specifying the option creates a minimal API project.
To create a web API with controllers run the following command instead:
dotnet new webapi -controllers -n API
OR
dotnet new webapi --use-controllers -n API
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):
So add
-controllers
/--use-controllers
option to the command to get controllers:Or