JsonRpcBundle

Остання зміна 2024/07/11 13:13 автором Ashterix

Актуальна версія  https://img.shields.io/github/v/tag/ufo-tech/json-rpc-bundle?color=blue&label=&logo=Packagist&logoColor=white&labelColor=7b8185
 Категорія  Api
 Тип  Symfony Bundle
 Залежності https://img.shields.io/packagist/dependency-v/ufo-tech/json-rpc-bundle/php?logo=PHP&logoColor=white
https://img.shields.io/packagist/dependency-v/ufo-tech/json-rpc-bundle/symfony/framework-bundle?label=Symfony&logo=Symfony&logoColor=white
https://img.shields.io/packagist/dependency-v/ufo-tech/json-rpc-bundle/symfony/serializer?label=SymfonySerializer&logo=Symfony&logoColor=white
https://img.shields.io/packagist/dependency-v/ufo-tech/json-rpc-bundle/symfony/serializer?label=SymfonyCache&logo=Symfony&logoColor=white
 Розмір  https://img.shields.io/github/repo-size/ufo-tech/json-rpc-bundle?label=Size%20of%20the%20repository
 Ліцензія  https://img.shields.io/badge/license-MIT-green?labelColor=7b8185

Пакет для легкого створення 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 сервера відтепер працює на подіях і підписниках.

Конфігурація

УВАГА!!!  Конфігурація зазнала суттєвих змін і не має зворотної сумісності з версією 6. Дивіться оновлену документацію

  • в блоці 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])

Розділи документації

Детальну інформацію про кожен аспект використання і налаштування бібліотеки ви можете знайти у відповідних розділах