Конвертер REST в GraphQL
Конвертер REST в GraphQL создаёт механическую половину схемы; связи между типами — та часть, которую стоит проектировать самостоятельно.
🔒 Этот инструмент работает полностью в вашем браузере. Ваши файлы никогда не загружаются на сервер.
Разработчик
Конвертер REST в GraphQL
Предпросмотр интерфейса — без загрузки и внешних сервисов.
Черновик схемы GraphQL
Три эндпоинта превращаются в тип User, запрос users, возвращающий [User!]!, запрос user(id: ID!) и мутацию createUser, принимающую CreateUserInput.
Как работает конвертер REST в GraphQL
- Перечислите свои REST-эндпоинты, по одному на строку, с методом и путём.
- Выберите, нужно ли генерировать mutations вместе с queries.
- Считайте результат первым черновиком — интересная часть схемы GraphQL — это связи между типами, которые пути REST не описывают.
FAQ
Можно ли автоматически конвертировать REST API?
Список эндпоинтов даёт вам queries и mutations, и это лёгкая половина. Ценность GraphQL — в графе, то есть в связях типов, а никакой список путей этого не кодирует. Готовьтесь проектировать связи вручную.
А как насчёт проблемы N+1?
Схема, которая разрешает каждое поле отдельным REST-вызовом, сделает один запрос на каждый элемент на каждое поле. Это классическая ловушка GraphQL, решаемая батчингом через DataLoader, а не в схеме.
Должен ли каждый REST-эндпоинт стать полем?
Нет. В REST API часто есть эндпоинты, существующие в обход формы REST — массовые выборки, денормализованные представления, составные обновления. Обычно они исчезают в хорошо спроектированном графе.
Сравнение
| Функция | Online Tool Store | CLI-скрипт | Плагин для IDE |
|---|---|---|---|
| Queries и mutations | ✓ | ✗ | ✓ |
| Ничего не загружается | ✓ | Локально | ✗ |
| Предлагает входные типы | ✓ | ✗ | ✓ |
| Не требует установки | ✓ | ✗ | ✗ |
Конвертер REST в GraphQL создаёт механическую половину схемы; связи между типами — та часть, которую стоит проектировать самостоятельно.