По моему мнению, ответ зависит , есть много вопросов, на которые нужно ответить в первую очередь
- Для чего вы создаете API?
- Нужно ли вам следовать шаблонам архитектурного проектирования, которыми владеют пользователи API (например, MobileApp, WebApp)?
- Или вы просто хотите создать API, который предоставляет данные только в том виде, в котором вы сказали, в соотношении 1: 1, так что остальныеприложение должно следовать шаблонам архитектурного проектирования, которые вы создаете?
- Где вы сосредоточены на обработке данных, на стороне клиента или на стороне сервера?
- Каковы пределы объема работы API и его пользователей?
По моему опыту, если вы хотите создать масштабируемый REST API , ваш контроллер должен иметь возможность для доступа к любому BLL (Бизнес-логика), когда это необходимо.BLL = BL (в вашем случае)
Например:
http://localhost/customers/15
Контроллеру клиентов требуется только 1 BLL (CustomerBLL), чтобы найти клиента с идентификатором 15, а затем вернуть результат.Как вы сказали, отношение 1: 1.
В другом случае вам потребуется более 1 BLL.
Например:
http://localhost/customers/15/products
Требуется контроллер клиентадругой BLL (ProductsBLL), чтобы найти любые продукты, относящиеся к клиентам с идентификатором 15, а затем вернуть результат.