mr_garther
@mr_garther
Python Full-Stack

Как следует подходить к именованию API в микросервисной архитектуре?

Работаю над платформой с микросервисной архитектурой. В наличии микросервисы и API-шлюз.
Хочу немного привести в порядок все наименования (эндпоинты, пути и т.д.).
Есть ли какие-то best-practices по этому поводу?
К примеру, если взять микросервис для работы с юзерами, следует ли мне прописывать в начале эндоинтов /user/v1?
Или же мне стоит вписать /user в качестве корневого uri для API в шлюзе, а в самом микросервисе прописывать только версионирование?
  • Вопрос задан
  • 344 просмотра
Пригласить эксперта
Ответы на вопрос 3
mayton2019
@mayton2019
Bigdata Engineer
Надо описать в документации все методы и endpoins. Лучше в открытом формате типа Swagger/OpenAPI. И показать их заинтересованным лицам. Тем кто будет этот API использовать. Вот если у них не будет вопросов - значит все понятно и хорошо. Если они будут говорить WTF - то надо все эти вотафаки аккуратно записать и исправить.
Ответ написан
Комментировать
@Slonoed
Если у вас ТОЧНО будет версионирование, тогда /v1/user
Но версию можно передавать и в http headers, если клиент в состоянии это сделать, то так даже визуально проще.
Определите, какой вариант вам проще реализовать, например:
/контроллер/действие/:id
или
/контроллер/:id/действие
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
плевать. главное оставляйте документацию на все версии.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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