Контроллеры в ASP.NET MVC и в ASP.NET Web Api наследуются от разных классов, один он ApiController, а другой от Controller. В чём разница между этими классами?
Логика должна быть такая же, что и между ASP.NET MVC и ASP.NET Web Api.
В ASP.NET MVC контроллеры наследуются от класса Controller, и возвращают не только данные, но и представление.
ASP.NET Web Api контроллеры наследуются от класса ApiController и возвращают только данные, никаких представлений.