Как можно смоделировать ответ службы покоя без изменения кода - PullRequest
1 голос
/ 17 октября 2019

Я работаю над одной службой на основе java / scala, которая использует некоторые внутренние библиотеки scala, которые выполняют вызовы покоя (по крайней мере, 5 различным конечным точкам, которые предоставляют некоторые справочные данные) нескольким другим службам для поддержки основной службы

Когда я запускаю основную службу в одной из этих сред, и одна из вспомогательных служб не работает, работа блокируется, библиотека scala не поддерживает передачу URL-адреса как системного свойства -D, поэтому, если одна изСлужба не работает, нет возможности выбрать URL только для этой службы в какой-либо другой среде.

Единственная опция - это переключение окружения, которое создает некоторые другие проблемы с точки зрения транзакционных данных.

мы не хотим изменять библиотеку локально, чтобы жестко задавать переменные url и использовать их локально, потому что для смены poms и т. д. требуется время. Также возможно изменение значений во время отладки, поскольку эти URL-адреса являются значениями в scala, и мы не можем изменить значение при отладке. время.

Так лиОбратитесь к этому или любому другому инструменту, который будет возвращать фиктивный ответ, перехватывая остальную часть URL локально.

например, если я позвоню http://qa.company.com/masterdata1, он должен вернуть json {"id": "dummy"," value ":" value "....}

1 Ответ

0 голосов
/ 18 октября 2019

Учитывая, что пока нет ответов ...

Я предлагаю предложить имитатор API или аналогичный инструмент, который поддерживает функцию HTTP / S-прокси;Конечно, это может быть и вариант. (отказ от ответственности: я связан с API Simulator)

Вам необходимо настроить службу на основе java / scala, которая вызывает те другие службы, которые вы хотите смоделировать, чтобы использовать API Simulator в качестве прокси HTTP / S. См. документ здесь о настройках -Dhttps.proxyHost и -Dhttps.proxyPort для вызовов HTTPS и -Dhttp.proxyHost и -Dhttp.proxyPort для HTTP соответственно;-Dhttp.nonProxyHosts предназначен для исключения хостов из прокси.

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

В приведенном выше предположении предполагается, что служба на основе java / scala поддерживает использование прокси-сервера HTTP / S. Таким образом, не изменяя фактические URL-адреса или какой-либо код, вы можете высмеивать некоторые ответы служб и получать живые ответы для других.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...