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

Виявлення проблем в імпортованому API

Коли ви імпортуєте API (OpenAPI, Swagger та інші підтримувані формати), Restorm зберігає структуровану документацію API в його теці середовищ. Одразу після імпорту — і щоразу, коли ви повторно відкриваєте файл — Restorm непомітно проєктує цю документацію в дизайн і виконує ту саму перевірку, що й дизайнер API, повністю у фоновому режимі. Він ніколи не блокує імпорт і ніколи не втручається в те, що ви робите.

Якщо він нічого не знаходить, ви нічого не бачите. Якщо він знаходить структурні проблеми, він вказує вам на них у двох місцях.

Тека середовищ, яка містить позначений API, показує невеликий «!» праворуч від свого рядка. Це сигнал з першого погляду про те, що дизайн цього API має щось варте уваги — і він зникає сам собою, щойно API знову стає чистим (після повторного імпорту або оновлення API, яке його виправляє).

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

Вкладка Проблеми теки середовищ імпортованого API: попереджувальна виноска, потім проблеми, згруповані за типом — «Кілька маршрутів відповідають на той самий метод і шлях», «Деякі маршрути не оголошують жодної відповіді», «Деякі маршрути розташовані на шляху, який резервує сервер дизайну» — кожна з них перелічує точні маршрути, на які впливає, один розгорнутий, щоб показати документацію цього маршруту

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

Перевірки відображають перевірки дизайнера API, тож типи проблем, які ви можете побачити, включають:

  • дубльовані маршрути — два маршрути, що відповідають на той самий метод і шлях;
  • відсутні відповіді — маршрут, який не оголошує жодної відповіді;
  • зарезервовані шляхи — маршрут, розташований на шляху, який резервує Mock Server (/swagger.json, /graphql, …), і який ніколи не відповість;
  • проблеми з обмеженнями — недійсний шаблон або мінімум, більший за свій максимум.

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