您好,我正在开发symfony 2.7-> symfony 3.4。 自迁移以来,我的API路由无效。当我测试它们时,他们向我发送了200 htlm /文本(而不是JSON)的答案。我已经验证了我的实体,控制器和其他捆绑软件的配置,但没有结果。
我使用jmserializer。
这是我的捆绑包配置。
fos_rest:
param_fetcher_listener:
enabled: true
body_listener: true
format_listener: true
view:
view_response_listener: 'force'
formats:
json : true
xml: true
templating_formats:
html: true
force_redirects:
html: true
failed_validation: HTTP_BAD_REQUEST
default_engine: twig
routing_loader:
default_format: json
prefix_methods: false
答案 0 :(得分:0)
这个对我有用。你可以试试看。
fos_rest:
allowed_methods_listener: true
access_denied_listener:
json: true
body_listener:
enabled: true
default_format: json
decoders:
json: fos_rest.decoder.json
body_converter:
enabled: true
validate: true
validation_errors_argument: validationErrors
exception:
enabled: false
exception_controller: 'AppBundle\Controller\DefaultController::showApiException'
codes:
'Symfony\Component\HttpKernel\Exception\NotFoundHttpException': 404
'Symfony\Component\HttpKernel\Exception\BadRequestHttpException': 400
'Symfony\Component\Security\Core\Exception\AccessDeniedException': 403
'Symfony\Component\Security\Core\Exception\DisabledException': 403
'Doctrine\DBAL\Exception\ServerException': 500
'Doctrine\ORM\OptimisticLockException': HTTP_CONFLICT
format_listener:
rules:
- { path: '^/', priorities: ['json'], fallback_format: json, prefer_extension: false }
param_fetcher_listener:
enabled: true
force: true
routing_loader:
default_format: json
view:
view_response_listener: 'force'
formats:
json: true