Інструкції по встановленню

Версія 8.1 додана 2024/05/08 17:45 автором Ashterix

Крок 0: Налаштування composer.json

Для того, щоб при додаванні пакету, ваш Symfony Flex автоматично зробив всі необхідні налаштування, потрібно внести наступні зміни в ваш composer.json

{
   "extra" : {
       "symfony": {
           "endpoint": [
               "https://api.github.com/repos/ufo-tech/recipes/contents/index.json?ref=main",
               "flex://defaults"
            ]
        }
    },
}

Детально про Symfony Flex в документації Symfony

Крок 1: Встановлення

В консолі в теці проєкту виконайте цю команду, щоб завантажити останню версію цього пакету:

composer require ufo-tech/json-rpc-bundle

Ця команда актуальна якщо ви встановили Composer глобально, як описано в документації Composer.

Крок 2: Реєстрація пакету

Переконайтесь, що пакет автоматично зареєструвався в файлі config/bundles.php вашого проєкту:

<?php
// config/bundles.php

return [
   // ...
   Ufo\JsonRpcBundle\UfoJsonRpcBundle::class => ['all' => true],
   // ...
];

Крок 3: Додавання параметрів

Якщо ви виконали «Крок 0», це налаштовано автоматично і ви можете пропустити цей крок.

В разі ручного налаштування бандлу, додайте до папки config/packages файл ufo_json_rpc.yaml із таким вмістом:

# config/packages/ufo_json_rpc.yaml
ufo_json_rpc:
   security:
       protected_methods: ['GET', 'POST']        # protection of GET and POST requests
       token_key_in_header: 'Ufo-RPC-Token'      # Name of the key in the header
       clients_tokens:
            - 'ClientTokenExample'                # hardcoded token example. Importantly!!! Replace or delete it!
            - '%env(resolve:UFO_API_TOKEN)%'      # token example from .env.local
   
   # Configuration for API documentation
   docs:
       # Optional response details
       response:
           key_for_methods: services       # Key used to map services for API methods
           # Information about validations
           validations:
               json_schema:     false      # Indicates if JSON-schema is used for method validation
               symfony_asserts: false      # Indicates if an array of Symfony validation constraints is used

Детальний огляд параметрів налаштування доступний в розділі Налаштування бандлу

Крок 4: Реєстрація маршрутів

Якщо ви виконали «Крок 0», це налаштовано автоматично і ви можете пропустити цей крок.

В разі ручного налаштування бандлу, додайте до папки config/routes файл ufo_json_rpc.yaml із таким вмістом:

# config/routes/ufo_json_rpc.yaml
ufo_json_rpc:
   resource: ../../vendor/ufo-tech/json-rpc-bundle/config/router.yaml
   prefix: /api
   trailing_slash_on_root: false

Sub-paragraph

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Sub-sub paragraph

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Paragraph 2

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Sub-paragraph

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

== Sub-paragraph ==

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.