> For the complete documentation index, see [llms.txt](https://adamgenesis.gitbook.io/adam.genesis/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adamgenesis.gitbook.io/adam.genesis/readme/prostoe-ispolzovanie-mok-servera.md).

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

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

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

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

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

<figure><img src="/files/gpBbF8z2TsTULpKwHEdY" 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` и порадоваться за свой успех - у вас должен отобразиться текст из файла, который мы добавляли в формате джейсона в папке маппингс


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://adamgenesis.gitbook.io/adam.genesis/readme/prostoe-ispolzovanie-mok-servera.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
