Конвертер 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 створює механічну половину схеми; зв'язки між типами — та частина, яку варто проєктувати самостійно.