Я создаю проект веб-API asp.net, храню свои данные в базе данных сервера mssql и использую Entity Framework. Я следовал руководству Microsoft (https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-6.0&tabs=visual-studio), оно использует контроллер API с элементом каркаса Entity Framework. В других руководствах я нашел людей, использующих контроллеры, производные от класса ApiController, и маршрутизация там осуществляется через файл web.config. Какова фактическая разница и что я должен использовать? Я полагаю, что мне следует следовать руководству MC, потому что оно довольно новое (было добавлено неделю назад).
P.S.: прямо сейчас я не планирую добавлять часть «представление» в свое приложение, сначала я хочу создать все вызовы API, но позже я хотел бы это сделать.
Asp.net6 принес новые способы работы с контроллерами, немного оторвавшись от шаблона MVC, который у нас был, но эта ваша модель, если вы следуете руководству, в конечном итоге наследует от стандартного MVC ApiController, посмотрите на эту часть официального руководство:
Помечает класс атрибутом [ApiController]. Этот атрибут указывает, что контроллер отвечает на запросы веб-API. За информацию о конкретных действиях, которые разрешает атрибут, см. Создавайте веб-API с помощью ASP.NET Core. Использует DI для внедрения базы данных контекст (TodoContext) в контроллер. Контекст базы данных используется в каждом из методов CRUD в контроллере. Ядро ASP.NET шаблоны для:
Контроллеры с представлениями включают [действие] в шаблон маршрута. API контроллеры не включают [действие] в шаблон маршрута.
ну, это означает, что ваш контроллер отображается в поток aspnet mvc и регистрируется там, когда вы вызываете app.MapControllers(); в вашей Program.cs
и не надо ничего настраивать в webConfig, которого уже даже не существует, так как фреймворк
Вы можете следовать инструкциям, и все будет хорошо.