Шаблоны Dot Net Core веб-API отличаются - PullRequest
0 голосов
/ 20 ноября 2018

Я только что сравнил код, сгенерированный dotnet new webapi и dotnet new angular, и проверил только код веб-API.

По некоторым причинам контроллеры происходят из разных классов, в проекте, созданном с dotnet new webapi контроллерпроисходит от ControllerBase , тогда как в проекте, созданном с dotnet new angular, контроллер выводится из Controller

Кроме того, типы возврата для действий различны, в угловом шаблоне это фактический тип возврата , в то время как в шаблоне webapi его ActionResult

enter image description here

Почему это так?

Какой вариант является «лучшим»?И чем они отличаются?

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

ControllerBase не поддерживает Razor / view.ControllerBase используется для API.

0 голосов
/ 20 ноября 2018

Раньше .NET Core Web API и контроллеры MVC были похожи.

Но начиная с 2.0 / 2.1 Web API был изменен.

Теперь вы должны получить класс из ControllerBase вместо Controller и используйте атрибут [ApiController].

Старый стиль будет продолжать работать в любом случае.

Я полагаю, ангулярное использование Web API, поэтому шаблон должен быть обновлен.

См. Документация по WEB API .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...