Возврат 400 BAD REQUEST на каждый POST — fosrestbundle, Symfony3

Я использую fosrestbundle на Symfony3 для создания веб-API на стороне сервера.

fos_rest конфигурация app/config/config.yml

fos_rest:
    param_fetcher_listener: true
    body_listener: true
    format_listener:
            enabled: true
            rules:
                - { path: ^/api, priorities: [ json ], fallback_format: json, prefer_extension: true }
    view:
        view_response_listener: 'force'
        formats:
            xml: true
            json : true
        templating_formats:
            html: true
        force_redirects:
            html: true
        failed_validation: HTTP_BAD_REQUEST
        default_engine: twig
    routing_loader:
        default_format: json

Всякий раз, когда я публикую сообщения с Content-Type: x-www-form-urlencoded, контроллер получает удар. Каждый раз, когда я использую application/json, я получаю ответ 400 BAD REQUEST. Но мне нужно, чтобы он был Content-Type: application/json. Скажите, что мне нужно изменить в конфигурации fos_rest, чтобы она могла принимать application/json. Заранее спасибо.

Н.Б. Я попробовал Body Listener по книге. Но не повезло. Изменение версии может быть проблемой. Я не знаю.


person Sujit    schedule 29.12.2015    source источник
comment
Похоже, JSON, который вы отправляете в теле запроса, недействителен. Как выглядит ваш полный запрос?   -  person xabbuh    schedule 29.12.2015
comment
да... это моя ошибка. Я пытался использовать расширение Advanced Rest Client Application для Google Chrome. Я отправлял сообщение по данным формы, но не форматировщику json. Моя вина. В любом случае спасибо. @xabbuh   -  person Sujit    schedule 29.12.2015


Ответы (1)


Как уже упоминалось @xabbuh, вы пытаетесь использовать неправильный формат данных при запросе.

введите здесь описание изображения

Вместо вышеуказанного ваш запрос должен выглядеть так.

введите здесь описание изображения

person Atish Dipongkor    schedule 29.12.2015