Vấn đề tôi thấy với cách tiếp cận của bạn là bạn đang xây dựng API REST cho chỉ một người tiêu dùng, bộ điều khiển của bạn và điều đó quá mức cần thiết. Đừng chỉ thêm một lớp chỉ để truyền dữ liệu từ lớp này sang lớp khác, không có lý do gì, bạn sẽ tự tạo công việc cho mình mà không có thêm lợi ích.
Một cách (nhanh chóng) để làm cho API của bạn trở nên hữu ích nếu đó là điểm cuối duy nhất mà bộ điều khiển của bạn (tức là ứng dụng của bạn) cần. Xem xét điều này:
Đột nhiên API REST của bạn có mục đích và đó là cung cấp giao diện hợp nhất cho các nhà cung cấp dữ liệu khác nhau của bạn. Ứng dụng của bạn không cần biết về Google hoặc API Trello hoặc bất kỳ nhà cung cấp dữ liệu nào khác mà bạn có thể sử dụng trong tương lai, nó chỉ cần biết về API REST của bạn.
Thiết kế này, mặc dù hữu ích hơn một chút, vẫn còn quá mức nếu ứng dụng của bạn là người tiêu dùng duy nhất. Toàn bộ quan điểm của việc xây dựng API REST là hiển thị giao diện có sẵn công khai để các ứng dụng của bạn chia sẻ. Và chìa khóa ở đây là phơi sáng, API REST của bạn sẽ có sẵn cho mọi người và do đó nó phải được bảo mật. Xác thực và ủy quyền API không phải là nhiệm vụ đơn giản, nếu chỉ có một ứng dụng sử dụng API của bạn, tại sao phải trải qua tất cả các rắc rối? Trừ khi bạn muốn thử nghiệm và học hỏi. Nếu đó là trường hợp, bằng mọi cách đi cho nó.
Trong mọi trường hợp, hiệu suất không phải là một vấn đề. Bạn sẽ thêm một lớp bổ sung, vì vậy rõ ràng sẽ có một số chi phí, nhưng liệu chi phí đó có đáng kể hay không hoàn toàn phụ thuộc vào việc triển khai của bạn. Nếu API REST của bạn là điểm cuối duy nhất, thì có lẽ đó cũng là một ý tưởng tốt để trở thành nơi lưu trữ bộ đệm. Và không chỉ bộ nhớ đệm phía máy chủ, API REST giúp bộ nhớ đệm trình duyệt dễ khai thác hơn một chút và nếu bạn hiểu đúng, hiệu suất tổng thể của ứng dụng của bạn có thể tăng lên, so với cách tiếp cận không phải REST.
tl; dr: Đừng xây dựng những thứ không có mục đích thực sự (trừ khi bạn đang học).