Перейти до вмісту

Імітація API HTTP

Клацніть правою кнопкою на теці ▸ Додати ▸ Сервер HTTP.

Сервер налаштовується тими самими полями, що й запит, — і в цьому вся принада: метод і шлях визначають маршрут, який слухають, а статус, заголовки й тіло визначають відповідь, яку видають.

ПолеРоль
МетодМетод маршруту
Адресаlocalhost:<порт><шлях> — хост зафіксовано
Статус симуляціїКод, який повертається, типово 200
ЗаголовкиЗаголовки відповіді
ТілоТіло відповіді

Елемент «Сервер HTTP»: URL, зведений до localhost + порт + шлях, метод, який обслуговують, а також заголовки й тіло імітованої відповіді

Маршрут — це пара метод + шлях. Зіставлення відбувається за точним шляхом, а рядок запиту ігнорується. Будь-який виклик, що надходить на порт і не збігається з жодним маршрутом, отримує 404.

Два маршрути конфліктують лише тоді, коли мають однаковий метод, однаковий шлях і однаковий порт. Отже, ви можете створити по серверному запиту на кожен маршрут і запустити їх усі.

GET localhost:8080/clients → 200, liste de clients
GET localhost:8080/clients/42 → 200, un client
POST localhost:8080/clients → 201, en-tête Location
GET localhost:8080/clients/999 → 404 (aucune route : réponse par défaut)

Заголовки й тіло обчислюються на кожен вхідний виклик. Тож тіло, що містить {{maintenant}} чи {{compteur}}, змінюється від виклику до виклику, якщо змінюється змінна.

Порада: це дає змогу керувати поведінкою сервера, поки він працює, — змініть значення змінної середовища, і наступний виклик отримає іншу відповідь, без перезапуску.

Спільне використання порту

Section titled “Спільне використання порту”

Сервер симуляції HTTP і сервер WebSocket чи Socket.IO можуть слухати на тому самому порту: Restorm спрямовує звичайні запити до маршрутів HTTP, а запити на перемикання — до сервера реального часу.

Дія Сервер HTTP розміщує маршрут на час сценарію й видає подію served — що несе { request, response }на кожен отриманий виклик. Це і є спосіб перевірити webhook:

Сервер HTTP ──connected──► Запит HTTP «запустити webhook»
└────────served──────► Assert на request.body
потім ──► Закриття сервера HTTP

Див. Розміщені сервери.