Документирование API (Redoc) для веб-приложения

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Документирование API (Redoc) для веб-приложения
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1214
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    852
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    823
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    815

Документирование API (Redoc) для веб-приложения

Redoc — OpenAPI-рендерер с трёхпанельной компоновкой: навигация слева, описание в центре, примеры запросов/ответов справа. В отличие от Swagger UI, Redoc не предоставляет интерактивной формы «Try it out», зато генерирует читаемую публичную документацию даже для больших API с сотнями эндпоинтов.

Встраивание Redoc

Простейший способ — статический HTML с CDN:

<!DOCTYPE html>
<html>
  <head>
    <title>API Документация</title>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700" rel="stylesheet">
  </head>
  <body>
    <redoc spec-url='/api/openapi.yaml'></redoc>
    <script src="https://cdn.redoc.ly/redoc/latest/bundles/redoc.standalone.js"></script>
  </body>
</html>

Для production — скачать бандл и раздавать локально. CDN создаёт зависимость от внешней сети.

Self-hosted через npm

npm install redoc

Подключение в Next.js (статический роут /docs):

// app/docs/page.tsx
import { RedocStandalone } from 'redoc';

export default function DocsPage() {
  return (
    <RedocStandalone
      specUrl="/api/openapi.json"
      options={{
        nativeScrollbars: true,
        theme: {
          colors: { primary: { main: '#2563eb' } },
          typography: { fontFamily: 'Inter, sans-serif' },
        },
        hideDownloadButton: false,
        expandDefaultServerVariables: true,
      }}
    />
  );
}

Конфигурация через x-tagGroups

Redoc поддерживает группировку тегов через OpenAPI extension — отображает их в виде секций в левом меню:

info:
  title: MyApp API

x-tagGroups:
  - name: Пользователи
    tags: [Users, Auth, Sessions]
  - name: Контент
    tags: [Articles, Comments, Tags]
  - name: Платежи
    tags: [Orders, Payments, Refunds]

tags:
  - name: Articles
    description: |
      Операции с публикациями.

      ## Жизненный цикл статьи

      `draft` → `review` → `published` → `archived`

Описание тегов поддерживает полный Markdown — можно добавлять схемы, таблицы, ссылки.

x-codeSamples — примеры на нескольких языках

paths:
  /articles:
    get:
      x-codeSamples:
        - lang: cURL
          source: |
            curl -X GET https://api.example.com/v1/articles \
              -H 'Authorization: Bearer TOKEN'
        - lang: JavaScript
          source: |
            const res = await fetch('/api/v1/articles', {
              headers: { Authorization: `Bearer ${token}` }
            });
        - lang: PHP
          source: |
            $response = Http::withToken($token)->get('/api/v1/articles');

Redoc показывает переключатель языков в правой панели.

Генерация openapi.json в Laravel

// routes/api.php — эндпоинт отдаёт спецификацию
Route::get('/openapi.json', function () {
    return response()->json(
        \Dedoc\Scramble\Scramble::getDefaultDocumentGenerator()->generate()
    );
})->middleware('throttle:60,1');

Альтернатива — экспортировать статический файл в CI:

php artisan scramble:export --output=public/openapi.json

Redoc CLI для статической генерации

npx @redocly/cli build-docs openapi.yaml --output docs/index.html

Полученный index.html (~3 МБ с инлайн-бандлом) деплоится на любой статический хостинг (S3, GitHub Pages, Cloudflare Pages). Не требует сервера.

Redoc vs Swagger UI — когда выбирать

Критерий Redoc Swagger UI
Визуальное качество Высокое Среднее
«Попробовать в браузере» Нет (только просмотр) Да
Размер бандла ~2.5 МБ ~1.5 МБ
Группировка тегов x-tagGroups Нет
Поддержка x-codeSamples Да Нет
Встройка в Next.js/React npm-пакет npm-пакет

Оптимальная стратегия: публичная документация — Redoc, внутренний sandbox для разработчиков — Swagger UI на отдельном роуте /api/swagger.

Сроки

Настройка Redoc с кастомной темой, группировкой тегов и примерами кода: 0.5–1 день. Интеграция с CI (auto-export openapi.json, деплой на Cloudflare Pages): 1 день дополнительно.