Если честно, разделять ваши классы API на отдельные файлы / модули - это хорошо.Когда приложение небольшого размера, оно выглядит немного излишним, но по мере роста оно помогает упорядочить вещи.
Вы уже указали, что API-интерфейсы вашего бэкенда структурированы в микросервисы, почему бы не оставить их отдельными объектамив передней части тоже?Управлять вашими классами API будет легче, когда / если вы когда-нибудь начнете использовать разные конечные точки.
Хотя в прошлом я создавал базовый класс, который может наследовать каждый из этих классов API, гдеЯ могу настроить общую логику, такую как заголовки запросов и т. Д., Если вы хотите получить возможность повторного использования таким образом.
Я даже сделал еще один шаг вперед, который создал бы другой уровень абстракции, который обрабатывает интеграциюпроисходит, то есть через HTTP, где я бы объявил, какой HTTP-клиент использовать, например.Таким образом, если я когда-нибудь изменю HTTP-клиента, я изменю его только в одном месте
Такая структура выглядела как ->
_ServiceProxy.js
Общие функции, такие каккак GET, POST, PUT, DELETE и т. д. Здесь определен клиент HTTP. Здесь определяется высокоуровневая обработка ошибок
_someBaseAPI.js
Абстрактный клиент, который определяет, как взаимодействовать с наборомраспространенные микросервисы, например, логика аутентификации и т. д.
UserAPI.js
Конкретный / статический класс, интересующийся только тем, как обрабатывать запросы / ответы для пользователей