@springimport

Как именовать ресурсы в API?

В приложении есть приложение api, в нем модуль v1. В данный момент обращение к API происходит так: /api/v1/customer/

А как быть если нужно совместить 2 api: моего приложения и приложения, с которым работает мой сервер (через api)?

/api/v1/customer/get-uniq-results
/api/v1/anotherservice-customer/get-uniq-results
/api/v1/my-service-anotherservice-customer/get-uniq-results (смешивание результатов).
  • Вопрос задан
  • 223 просмотра
Решения вопроса 2
erniesto77
@erniesto77
oop, rb, py, php, js
я бы оставил /api/v1/customer/get-uniq-results

Можно указать через какой сервис получать результат так /api/v1/customer/get-uniq-results?service=my-service
и/или через POST ожидать параметр service,
а внутри метода customer в зависимости от параметра service обращаться к my-service или anotherservice
Ответ написан
@Beltoev
Живу в своё удовольствие
/api/v1/customer/get-uniq-results
/api/v1/anotherservice-customer/get-uniq-results
/api/v1/my-service-anotherservice-customer/get-uniq-results (смешивание результатов).

Не хотел бы я пользоваться таким API.

Намного проще и логичнее:

// Получение всех клиентов
GET /api/v1/customers

// Получение уникальных (WTF?)
GET /api/v1/customers/?type=uniq

// Получение уникальных из другого приложения
GET /api/v1/customers/?type=uniq&source=another

// Получение уникальных (смешанных)
GET /api/v1/customers/?type=uniq&source=all
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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