Что вы должны знать перед тем, как приступить к реализации вашего приложения? На самом деле, как только вы начнете реализовывать приложение, вы должны знать много зависимостей в виде сервисов по мере своего дизайна, а затем одну вещь, которую я хотел бы выделить в отношении службы насмешек, которую я испытал, мне нравится представлять службу насмешек mountebank, Преимущество насмешек services — это когда вам нужно интегрировать приложение Frontend в приложение Backend, но приложение Backend еще не готово. Служба mocking — это ответ, который поможет прогрессу интерфейса без бэкэнда. Кстати, у вас должно быть пространство для ответа, прежде чем ваш дизайн издевается, мы должны сделать согласование запроса и ответа в спецификации как ваш дизайн. Итак, это важный момент

Фон Маунтбанка

mountebank — это фреймворк javascript, что означает, что перед тем, как вы начнете использовать его, вы должны сначала узнать, как писать javascript, но javascript очень относится к языку с низкой кривой обучения, а формат mountebank — это формат файла ejs, кажется, вы можете включить JSON файл в вашем JSON (JSON в JSON) с синтаксисом <% include ./path/of/file.ejs %> последним дочерним элементом include будет файл JSON .json, который является предикатом. к вашему сведению. mountebank не использует какой-либо javascript для изменения предиката, за исключением того, что вы хотели бы изменить ответ на динамический.

Как установить

  • загрузите среду выполнения node js, а затем установите на свой локальный компьютер по ссылке для загрузки здесь https://nodejs.org/en/download/ после завершения установки вы можете протестировать узел с открытым терминалом или PowerShell на вашем компьютере, а затем запустите команду node --version, чтобы проверить, должен ли вывод, показывающий версию, означающую, что узел уже использовался прямо сейчас.
  • если загрузка и установка завершена, следующее действие вы должны создать каталог для хранения исходного кода
  • создайте файл узла пакета с помощью команды npm init на терминале в PowerShell, а затем введите необходимую информацию. не забывайте, что вы должны сначала изменить каталог на созданный, прежде чем запускать инициировать.
  • установите mountebank в свой исходный код с помощью команды npm npm -ig mountebank -g Параметр установленный пакет для глобального хорошо, mountebank готов к использованию.
  • создайте файл предиката в папке stubs, например, /stubs/servcies/account/getAccount.json, как показано ниже
  • создайте файл service.ejs, подобный этому ‹% include account/getAccount.json %›
  • создать файл импостера, например, в теме Что такое самозванцы
  • измените конфигурацию в файле packge.json, чтобы изменить команду npm для запуска mountebank с вашими настройками, как показано ниже.
  • тестовый запуск командой npm start если все в порядке система будет показана вот так.

  • тестовый звонок с почтальоном, чтобы проверить ответ, если все в порядке, система будет показана так

Структура кода

Что такое самозванец

Самозванцы как я понял Просто настройте файл JSON так что вам какой порт выставить, и консолидировать сервис и предикат к запуску сервиса. например, как показано ниже.

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

Что за услуга

служба является узлом микросервиса или Apis 3rds, поскольку вы хотите подключиться в своем приложении, например. обслуживание аккаунта, обслуживание заказов, сервис google Бла Бла Бла

Что такое предикат

предикат — это правило процесса, что вы хотите делать с вашим запросом и что вы хотите делать с вашим ответом, который вы можете делать с предикатными файлами.

В приведенном выше коде после того, как путь, отправленный запросом, совпадает с /graphql, служба будет автоматически перенаправлена ​​на прокси-сервер http://graphql-interface:8080 для каждого метода, поскольку в коде нет метода спецификации, что означает, что любой запрос метода на этот путь будет также автоматически перенаправлен на прокси-сервер. .

Область ввода запроса

mountebank может быть известен как стандарт HTTP-запроса, например, строка запроса, заголовки HTTP, тело запроса, которые означают все, что вы отправили в mountebank, вы также можете создать предикат.

Прокси

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

Совпадения против равных

  • соответствие является динамическим для проверки ввода вашего запроса с помощью регулярного выражения
  • equals является статическим для проверки, тогда фиксированный ключ и значение должны быть равны запросу.

Работа с регулярным выражением

Однажды вам нужно смоделировать какую-то конечную точку или какой-то путь конечной точки, чтобы сделать что-то, например, для работы с любым запросом.

Добавить больше предикатов в один файл

Вы можете создать один файл предиката и добавить больше правил предиката более одного условия, как показано ниже.

Пользовательский ответ

Как только вам нужно получить какое-то значение и вставить его в свой ответ, вы можете сделать это.

Открыть режим отладки

просто добавьте конфигурацию в файл packge.json, чтобы открыть режим отладки с параметрами loglevel debuglike, как показано ниже.

Интеграция с докером

Когда вам нужно развернуться в кластере Kubernetes, просто создайте диаграмму push-to-helm, а затем разверните, например, Docker, как показано ниже.

  • создайте тестовый образ на вашем локальном компьютере с помощью команды docker build -t mountebank:1.0 .`
  • тестовый запуск образа докера на вашем локальном компьютере в качестве команды docker run -p 8080:8080 mountebank:1.0 -d служба взорвет порт с 8080, вы можете подключить свою службу к этому URL-адресу: http://localhost:8080

Заключение

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

Вот исходный код на GitHub: https://github.com/maxca/mountebank-test.git