silpo-tech/rest-bundle

Rest bundle for Symfony

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Type:symfony-bundle

v1.0.0 2025-09-24 13:07 UTC

This package is auto-updated.

Last update: 2025-09-24 13:13:59 UTC


README

CI codecov License: MIT

Installation

Require the bundle and its dependencies with composer:

$ composer require silpo-tech/rest-bundle

Register the bundle:

// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        ...
        new RestBundle\RestBundle()
    );
}

How to get current request language and use it?

    private RequestService $requestService;

    public function __construct(RequestService $service)
    {
        $this->requestService = $service;
    }

    /**
     * @param AutoMapperConfigInterface $config
     */
    public function configure(AutoMapperConfigInterface $config): void
    {
        $lang = $this->requestService->getLanguage();
        $config
            ->registerMapping(Office::class, OfficeDto::class)
            ->forMember('title', static function (Office $office) use ($lang) {
                return $office->getTranslationByFieldAndLang('title', $lang) ?: $office->getTitle();
            });
    }

How to configure supported languages

Add to env variables:

DEFAULT_LOCALE=ua

//If you want to restrict available locales (list prioritized, first will be default):
SUPPORTED_LOCALES=["ua", "en", "ru"]

Configuration of service:

    RestBundle\Request\RequestService:
        arguments:
            $defaultLocale: '%kernel.default_locale%'
            $supportedLocales: '%rest.supported_locales%'

Tests

composer test:run