А как ты себе сам это представляешь - вот у тебя есть некий "обобщенный" контроллер и метод Get в нем, один пользователь хочет получить всех обезьян из таблицы обезьяна, а другой хочет всех слонов из таблицы слонов)
Поэтому каждый контроллер это некая точка входа для работы с конкретной моделью предметной области
Теоретически это все можно сделать, если заморочиться с интерфейсами, дженериками и попотеть над маппером- только для чего все это нужно? Обычно контроллер это то, за что дергают твой сервис, и он должен быть максимально прост для понимания, так как с ним будут интегрироваться другие внешние сервисы- вот представь, что ты решил написать сервис по онлайн продаже товаров, своих у тебя нет, и ты решаешь взять АПИ амазона, брать оттуда всю инфу по товарам, добавлять свою наценку и отдавать своим пользователям, вот представь, что тебе дадут обобщенный контроллер- где будет выдача и пылесосов и прокладок- как ты реализуешь интеграцию с таким апи? Поэтому не выдумывай велосипед