Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
prog:symfony:extensions:fosrestbundle [02/11/2019 17:32] thierry créée |
prog:symfony:extensions:fosrestbundle [11/09/2022 17:36] (Version actuelle) thierry ↷ Page déplacée de prog:symfony:bundles:fosrestbundle à prog:symfony:extensions:fosrestbundle |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== FOSRestBundle ====== | ====== FOSRestBundle ====== | ||
+ | Page officielle : [[https://symfony.com/doc/master/bundles/FOSRestBundle/index.html]] | ||
===== Installation ===== | ===== Installation ===== | ||
+ | <note important>**FOS-RestBundle** a besoin de **JMS-SerializerBundle**,\\ il faudra donc installer ce bundle avant **FOS-RestBundle**, sinon -> ERROR</note> | ||
+ | - [[prog:symfony:extensions:jms-serializer#installation|Installer JMS-Serializer]] : ''composer require jms/serializer-bundle'' | ||
+ | - Se deplacer dans le répértoire du projet et lancer la commande ''composer require friendsofsymfony/rest-bundle'' | ||
+ | <code> | ||
+ | D:\webprojects\api2-test>composer require friendsofsymfony/rest-bundle | ||
+ | Using version ^2.6 for friendsofsymfony/rest-bundle | ||
+ | ./composer.json has been updated | ||
+ | Loading composer repositories with package information | ||
+ | Updating dependencies (including require-dev) | ||
+ | Restricting packages listed in "symfony/symfony" to "4.3.*" | ||
+ | |||
+ | Prefetching 5 packages | ||
+ | - Downloading (100%) | ||
+ | |||
+ | Package operations: 5 installs, 0 updates, 0 removals | ||
+ | - Installing willdurand/jsonp-callback-validator (v1.1.0): Loading from cache | ||
+ | - Installing willdurand/negotiation (v2.3.1): Loading from cache | ||
+ | - Installing doctrine/inflector (v1.3.0): Loading from cache | ||
+ | - Installing symfony/security-core (v4.3.6): Loading from cache | ||
+ | - Installing friendsofsymfony/rest-bundle (2.6.0): Loading from cache | ||
+ | Writing lock file | ||
+ | Generating autoload files | ||
+ | Symfony operations: 1 recipe (075c3c4d2711920c92f2b20b74b94fb5) | ||
+ | - WARNING friendsofsymfony/rest-bundle (>=2.2): From github.com/symfony/recipes-contrib:master | ||
+ | The recipe for this package comes from the "contrib" repository, which is open to community contributions. | ||
+ | Review the recipe at https://github.com/symfony/recipes-contrib/tree/master/friendsofsymfony/rest-bundle/2.2 | ||
+ | |||
+ | Do you want to execute this recipe? | ||
+ | [y] Yes | ||
+ | [n] No | ||
+ | [a] Yes for all packages, only for the current installation session | ||
+ | [p] Yes permanently, never ask again for this project | ||
+ | (defaults to n): y | ||
+ | - Configuring friendsofsymfony/rest-bundle (>=2.2): From github.com/symfony/recipes-contrib:master | ||
+ | Executing script cache:clear [OK] | ||
+ | Executing script assets:install public [OK] | ||
+ | |||
+ | Some files may have been created or updated to configure your new packages. | ||
+ | Please review, edit and commit them: these files are yours. | ||
+ | </code> | ||
+ | ===== Configuration ===== | ||
+ | ==== Fichier config fos_rest.yaml ==== | ||
+ | <code yaml config\packages\fos_rest.yaml> | ||
+ | fos_rest: | ||
+ | body_converter: | ||
+ | enabled: true | ||
+ | view: | ||
+ | formats: | ||
+ | json: true | ||
+ | xml: false | ||
+ | rss: false | ||
+ | serializer: | ||
+ | serialize_null: true | ||
+ | </code> | ||
+ | |||
+ | ==== Vérification de la configuration ==== | ||
+ | avec ''symfony console debug:config fos_rest'' | ||
+ | |||
+ | <note important>Si on obtient l'erreur\\ | ||
+ | **<<You need to enable the parameter converter listeners in SensioFrameworkExtraBundle when using the FOSRestBundle RequestBodyParamConverter>>** | ||
+ | |||
+ | Un simple ''composer require sensio/framework-extra-bundle'' résoud ce message. | ||
+ | |||
+ | Ceci est dû a l'utilisation de ''fos_rest.body_converter.enabled=true'' | ||
+ | |||
+ | Plus d'infos ici : [[https://symfony.com/doc/master/bundles/FOSRestBundle/request_body_converter_listener.html]] | ||
+ | </note> | ||
+ | |||
+ | |||