Voici la situation: Je travaille sur une API de repos, basée sur symfony3, elle utilise FOSRestBundle et le composant sérialiseur symfony, donc les méthodes return array et FOSRest gèrent l'encodage et la réponse. Le problème est l'utilisation du sérialiseur json_encode avec les paramètres par défaut et api renvoie des données comme '\ u00c9S' pour certains symboles. Je dois donc passer 'JSON_UNESCAPED_UNICODE' à json_encode() d'une manière ou d'une autre. Y a-t-il un moyen approprié d'atteindre ce but? Exemple d'une méthode:Comment passer des options à la fonction json_encode dans le composant Symfony Serializer
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use FOS\RestBundle\Controller\Annotations as Rest;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Symfony\Component\HttpFoundation\Request;
/**
* Class ExampleController
* @package AppBundle\Controller
*/
class ExampleController extends Controller
{
/**
* @Rest\Get("/get-some-data")
* @param Request $request
* @return array
*/
public function getSomeDataAction(Request $request)
{
$someData = [
'prop1' => 'Value',
'prop2' => 'Value',
'prop3' => 'Value',
'prop4' => 'Value',
];
return $someData;
}
Alors, quand je demande à '/ get-some-données', il me retourne:
{"prop1":"Value with \/","prop2":"Value with \u00c9"}
, mais je besoin pour revenir:
{"prop1":"Value with /","prop2":"Value with É"}
Je n'ai pas compris. Je ne suis pas impliqué dans le processus de sérialisation, FOSRestBundle le gère. Devrais-je prolonger une classe? – tarasikarius
Pouvez-vous donner un exemple de votre code? Je vais essayer d'adapter le mien. Mon code utilise uniquement le composant Symfony Serializer. – AnthonyB
Ajouter un exemple à la question. – tarasikarius