# Простое использование мок-сервера

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

\
Для настройки мок-сервера в нашем случае будем использовать файлы с json-форматом, что сильно упрощает задачу.

Теперь ближе к делу: что нужно сделать, для настройки мок-сервера?

1. Сначала проверяем, установлена ли у нас локально джава, для этого открываем cmd консоль(в виндоус) или терминал(в макос) и выполняем команду `java -version` )
2. Если установлена 1.8.0 или выше версия - отлично, в противном случае устанавливаем и идем дальше по этой инструкции

<figure><img src="https://1258905918-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FmRTBIkXY5acaY8OqH1aV%2Fuploads%2FFCWFGkw6Bj5is5RcNuCq%2F%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5.png?alt=media&#x26;token=b5c39570-9754-4479-b730-ff4df8add46c" alt=""><figcaption></figcaption></figure>

1. Переходим на официальная сайт <https://wiremock.org/docs/download-and-installation/> и находим строку **"download the standalone JAR from here"** и нажимаем ее(данная строка является гиперссылкой, после нажатия на которую скачивается файл для установки)
2. Теперь, мы можем перейти в директорию нашего диска C:(или какой у вас там, короче просто ваш основной диск, где установлена операционная система) и создать там папку с названием wiremock(просто чтобы мы понимали для чего она) и в эту папку перемещаем скачанный файл из 3го шага
3. В зависимости от вашей операционной системы (максос, шиндовс или линукс) открывайте консоль ( в винде это cmd, в маке/линуксе терминал) и переходите по адресу вашей папки wiremock внутри которой уже лежит файл с jar расширением
4. После того как перешли в консоли по пути до папки, внутри которой лежит наш jar-файл, нужно выполнить команду для запуска данного файла `java -jar wiremock-standalone-3.10.0.jar`  - обратите внимание, у вас может быть другая версия или название самого файла, например, у меня на момент написания гайда файл был скачан с названием wiremock-standalone-3.10.0.jar, а у вас может быть уже какая-то 3.30.0 версия или еще что-то, поэтому следите за тем, что в команде название файла, который вы хотите запустить напрямую соответствует тому, какой файл вы скачали. (если вы запустили команду с неправильным названием файла - то ничего страшного, ваш компьютер не взорвется и вы можете по новой запустить эту же команду с уже правильным названием). Важное примечание: если при выполнении команды получили какую-то такую ошибку `java.io.IOException: Failed to bind to /0.0.0.0:8080`  то запустите эту же команду, но с указанием другого порта, например, `java -jar wiremock-standalone-3.10.0.jar --port 9090`
5. Скорее всего все уже должно заработать, но мы еще не закончили - в папке wiremock проверяем, появилась ли у нас новая папка после запуска jar-файла с названием mappings(если нет, то создаем вручную) и в этой папке mappings мы будем создавать наши json файлы, которые имитируют ответы на запросы как с реального бэкенда(магия вопщем)
6. В этой папке маппингс создаем файл с примерно таким названием `example-mock.json` (обратите внимание, что при создании текстового файла вы должны сохранить его с форматом  `.json` а не `txt` или еще какой-то) и внутри этого файла добавьте следующий текст&#x20;

```
{
  "request": {
    "method": "GET",
    "url": "/api/example"
  },
  "response": {
    "status": 200,
    "body": "{\"message\":\"Hello, WireMock!\"}",
    "headers": {
      "Content-Type": "application/json"
    }
  }
}
```

9. Если у вас все это время был запущен ВайрМок, то остановите его в консоли сочетанием клавиш Ctrl + С (либо посмотрите какое сочетание клавиш останавливает процессы в консоли) и запустите заново, опять выполним ту же команду `java -jar wiremock-standalone-3.10.0.jar`

Важно! У вас может появится ошибка при повторном запуске ВайрМока - которая скорее всего будет связана с тем, что порты не освободились автоматически после того, как вы остановили процесс выполнения jar-файла - в таком случае погуглите для своей операционной системы, как остановить процесс выполнения службы на конкретном порту( в макос это команда `kill -9 pid-вашего-порта` )&#x20;

9. После всего этого можете открыть браузер и ввести в адресной строке `localhost:8080/api/example` и порадоваться за свой успех - у вас должен отобразиться текст из файла, который мы добавляли в формате джейсона в папке маппингс
