Что означает «знать API другого компонента»

Под знанием API подразумевается, что один компонент знает, что можно вызвать у другого компонента, что ему передать и что он получит в ответ.

В модульном монолите это знание может выражаться через Maven-зависимость (dependency) одного модуля от другого. В распределённой системе — через указание базового URL в properties-файле. В последнем случае важно подчеркнуть, что наличие URL не обязательно означает знание API. Например, платёжный шлюз может знать URL вашего сервера, чтобы отправлять ему callback-запросы, но это не значит, что шлюз знает API сервера. Передача своего callback-URL в теле запроса тоже, как правило, не означает, что один компонент передаёт другому своё API.