ho atterrato su questa discussione un certo numero di volte gli ultimi giorni. Per chiunque altro nella mia situazione in cui si utilizza V2 del pacchetto, è possibile trovare la seguente risorsa sull'aggiornamento di FOSRestBundle utile.
Riguarda l'uso del serializzatore al posto di ExceptionWrapperHandlerInterface.
https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/UPGRADING-2.0.md
- L'opzione exception_wrapper_handler config è stato rimosso. Utilizzare invece i normalizzatori .
Prima:
config.yml
fos_rest:
view:
exception_wrapper_handler: AppBundle\ExceptionWrapperHandler
Handler
namespace AppBundle;
class ExceptionWrapperHandler implements ExceptionWrapperHandlerInterface
{
public function wrap($data)
{
return new ExceptionWrapper(array('status_code' => 'foo'));
}
}
Dopo (se si utilizza il serializzatore Symfony):
services.yml
services:
app_bundle.exception_normalizer:
class: AppBundle\Normalizer\ExceptionNormalizer
tags:
- { name: serializer.normalizer }
normalizzatore
namespace AppBundle\Normalizer;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
class ExceptionNormalizer implements NormalizerInterface
{
public function normalize($object, $format = null, array $context = array())
{
return array('status_code' => 'foo');
}
public function supportsNormalization($data, $format = null)
{
return $data instanceof \My\Exception;
}
}
avete risolto questo? Ho lo stesso problema –