ben üzerinden bu iş parçacığı üzerinde bir kaç kez indi ettik Senin durumunda son birkaç gün. Paketteki V2'yi kullandığım durumdaki herkes için, FOSRestBundle'ı yararlı hale getirmek için aşağıdaki kaynağı bulabilirsiniz.
ExceptionWrapperHandlerInterface yerine serializer kullanımını kapsar.
https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/UPGRADING-2.0.md
- exception_wrapper_handler yapılandırma seçeneği çıkarıldı. Bunun yerine normalleştiricileri kullanın.
önce:
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'));
}
}
sonra (eğer Symfony'nin serileştirici kullanılmalıdır varsa):
services.yml
services:
app_bundle.exception_normalizer:
class: AppBundle\Normalizer\ExceptionNormalizer
tags:
- { name: serializer.normalizer }
normalleştirici
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;
}
}
Bunu çözdü mü? Aynı sorunum var –