senover
@senover
Vue.js developer

Организация обращений к АПИ в Vue.js приложении — Vuex actions или класс-сервис?

Я всегда помещал функции, обращающиеся к API, в экшены Vuex, но задумался об ином подходе - организовывать вызовы API в кастомных классах-сервисах - один класс для каждой сущности, где каждый вызов API является статической функцией, возвращающей промис. Затем в компонентах происходит обращение вида:
<EntityName>.<methodName>
  .then((res) => {})
  ...

Концептуально что-то вроде ресурсов в Laravel. На мой взгляд, подход Vuex обеспечивает хорошую структуру типа состояние-действие-мутация. Однако, один аргумент в пользу использования классов все же посетил мою голову. Заключается он в следующем: в state, actions и mutations Vuex должна быть только логика, которая используется/будет использоваться в нескольких местах приложения, ибо Vuex именно для этого и создан - для централизации данных. Все же остальные обращения к АПИ, предполагающие только частное применение, должны быть вынесены в классы-сервисы (или ресурсы, как угодно), дабы не захламлять ни кодовую базу SFC, ни общее хранилище.

Хотелось бы услышать мнение более опытных коллег. Спасибо.
  • Вопрос задан
  • 477 просмотров
Решения вопроса 1
Посмотри эту статью, мне понравился подход
https://medium.com/canariasjs/vue-api-calls-in-a-s...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы