将XML作为正文而不是JSON发送时出错

将XML作为正文而不是JSON发送时出错,xml,symfony,serialization,fosrestbundle,symfony4,Xml,Symfony,Serialization,Fosrestbundle,Symfony4,我正在用JMSSerializerBundle和RestBundle开发一个简单的Symfony 4应用程序,它保存POST请求的数据,并返回GET请求的数据。这些请求大多使用JSON作为格式,但我需要一个带有接受和解析XML的POST路由 我对所有JSON请求都没有问题,但XML请求给了我以下错误: (1/1) ClassNotFoundException Attempted to load class "XmlEncoder" from namespace "Symfony\Compone

我正在用JMSSerializerBundle和RestBundle开发一个简单的Symfony 4应用程序,它保存POST请求的数据,并返回GET请求的数据。这些请求大多使用JSON作为格式,但我需要一个带有接受和解析XML的POST路由

我对所有JSON请求都没有问题,但XML请求给了我以下错误:

(1/1) ClassNotFoundException

Attempted to load class "XmlEncoder" from namespace "Symfony\Component\Serializer\Encoder".
Did you forget a "use" statement for another namespace?
我的RestBundle配置如下所示:

fos_rest:
    routing_loader:
        default_format: json
        include_format: false
    param_fetcher_listener: true
    body_listener: true
    serializer:
        serialize_null: true
POST方法很简单:

/**
* @Post("/test")
*/
public function postAction(Request $request) {
    dump($request); die();
}
我将请求的内容类型头设置为
application/xml
。如果我将其保存到JSON,并发送一个空的正文(或一个带有有效JSON的正文),那么一切都会正常工作(我得到一个哑巴请求)

我还尝试添加以下
use
语句:
use-Symfony\Component\Serializer\Encoder\xmlcoder,但这不会改变什么

我的错误在哪里?为什么JSON工作得很好,但XML给了我错误?谢谢你的帮助

编辑:如果删除
内容类型:application/xml
,则不会出现问题。但是我不知道,为什么会出现这个问题,我也不确定,如果API的用户将来不会发送这个特定的头。我能做什么