Пакет для легкого створення API за допомогою JSON-RPC сервера
Робити RPC сервіси для сервіс-орієнтованої архітектури на Symfony ще ніколи не було так просто.
Цей пакет дозволяє легко створювати API за допомогою Json-RPC сервера для Symfony v.6.*. Він підходить для розробників, які хочуть швидко і ефективно інтегрувати RPC функціонал у свої проекти.
На відміну від інших реалізацій Json-RPC в php, ця бібліотека транспортно незалежна і може приймати не лише синхронні HTTP(S) запити, ви можете налаштувати асинхронний транспорт для виклику API.
Основні переваги
- Простота інтеграції: Інтеграція пакету з вашим проектом є надзвичайно простою. Вам потрібно лише додати спеціальний інтерфейс до будь-якого існуючого класу, і він автоматично отримає можливість обробляти JSON-RPC запити.
- Гнучкість: Пакет забезпечує велику гнучкість при створенні API, дозволяючи розробникам легко розширювати і модифікувати поведінку сервера без втручання у вже існуючий код.
- Ефективність: Завдяки оптимізації викликів і використанню сучасних компонентів Symfony, пакет гарантує високу продуктивність при обробці запитів.
Зміни 7.0
Загальні зміни
- Змінений формат документації API на підтримку стандарту OpenRpc
- Життєвий цикл RPC сервера відтепер працює на подіях і підписниках.
Конфігурація
- в блоці security тепер захищаються не http методи, а дії (api виклики та документація окремо)
- З блоку docs прибраний блок response, натомість всі властивості тепер розташовані на його рівні
- Видалені застарілі параметри (docs.response.json_schema)
- В блок docs додані параметри, що фігурують в побудові документації API:
- project_name
- project_description
- project_version
Функціональність яку надає бібліотека
Після встановлення ви одразу отримуєте:
- точку входу вашого Json-RPC API, що може приймати як синхронні так і асинхронні запити
- автоматичну генерацію документації можливостей вашого API у форматі json (див. Налаштування бандлу)
- можливість підписатися на події життєвого циклу RPC сервера (див. Події життєвого циклу)
- batch-запити з можливістю використання елементів відповіді одного запиту в тілі іншого запиту однієї серії (див. Batch запити)
- запити з відповіддю на webhook або web-socket
- кешування відповідей методів, що мають відносно статичні результати (див. #[RPC\Cache])
Розділи документації
Детальну інформацію про кожен аспект використання і налаштування бібліотеки ви можете знайти у відповідних розділах