En faite la classe de base c'est ControllerBase avec un décorateur apicontroller, toute façon tu as un menu pour ajouter un controller et tu dis que tu veux un controlleur d'api il va te créer tout ce qu'il te faut.
Le ControllerBase c'est une classe du framework .net qui contient toutes les méthodes necessaires pour gérer un appel Http sa réponse et autres, toi tu as juste à te soucier de créer tes méthodes get post et ton code dedans.
Le décorateur ApiController permet d'indique au compilateur que c'est un controller api.
Pour exemple une classe AreaController avec une méthode get qui prend en paramètre un player et qui revoie une liste d'area :
[Route("api/[controller]")]
[ApiController]
public class AreaController : ControllerBase
{
[HttpGet]
public List<AreaDto> Get([FromQuery]PlayerDto hero)
{
// blabla code
}
}
Plus d'infos ici :
https://docs.microsoft.com/fr-fr/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.1&tabs=visual-studio