Как составить несколько вызовов API в шлюз API?

Я ищу, как использовать API-шлюз в моем проекте. Моя текущая идея шаблона API-шлюза состоит в том, чтобы создать слой составных API, вызывающих несколько API, и представить составные API-интерфейсы через API-шлюз.

Исследуя другие области, я обнаружил, что не рекомендуется создавать составные API, если используется API-шлюз, а скорее, что композиция должна происходить в самом API-шлюзе. Но если мне нужно сделать композицию в API-шлюзе, не означает ли это, что мне нужно представить там некоторую доменную логику, потому что мне нужно будет создать содержательный контракт запроса и, возможно, последовательность вызывающих API? Лично мне не удобно это делать.

Есть ли другой способ сделать это без разоблачения логики?

1 ответ

Решение

Из того, что я исследую, не рекомендуется создавать составной API, если используется API-шлюз, но составление должно происходить в самом API-шлюзе.

не могли бы вы сослаться, где вы нашли утверждение?

ИМХО состав службы не является задачей шлюза API. Это задача n уровня интеграции (вам не нужно иметь отдельный продукт или услугу esb, под уровнем интеграции вы можете понимать любые сервисы или уровень сервисов, реализующие такие возможности, как состав, преобразование и т. Д.)

Вы не указали какой-либо продукт или услугу API, это зависит от продукта, способен ли он выполнять какую-либо логику или нет (некоторые делают, некоторые нет). Даже если продукт API-шлюза способен выполнять любую логику, на самом деле я тоже не рекомендую его (вам придется бороться с обслуживанием, обработкой ошибок и обработкой состояний,..)

Но если мне нужно сделать композицию в API-шлюзе, разве это не означает, что мне нужно представить там некоторую доменную логику (лично я не чувствую себя комфортно), потому что мне нужно создать содержательный контракт запроса и, возможно, последовательность вызова API?

Что вы подразумеваете под composition in API gateway? Я предполагаю под термином выполнение некоторой логики. Тогда логика скрыта от клиентов API.

Или это может быть слой композитного API звучит лучше?

В самом деле.

Обычно стараются рассматривать шлюз API как интеллектуальный прокси-сервер (выполнение авторизации, регулирование, хранилище API, обращенное к клиенту, и т. Д.), Но открытые серверные службы должны быть уже открыты, как они есть.

Другие вопросы по тегам