我已经使用Symfony 2.6
和FOSRestBundle
和JMSSerializerBundle
实现了Web服务。
我无法拥有一个名为 request
的根元素,即使我xml_root_name: request
放在配置文件中。
我有一个包含以下信息的configserializerEntity.Request.yml
文件:
TvjpRequestBundleEntityRequest:
exclusion_policy: ALL
xml_root_name: request
properties:
id:
expose: true
type: integer
label:
expose: true
type: string
issuer:
expose: true
type: string
当我尝试访问单个request
时,这是我在XML中得到的:
<result>
<id>23</id>
<label><![CDATA[ test label ws post ]]></label>
<issuer><![CDATA[ test issuer ws post ]]></issuer>
</result>
我在json中得到的:{"id":23,"label":"test label ws post","issuer":"test issuer ws post"}
任何想法我在这里做错了什么?
我终于设法使用实体类上的注释而不是使用 configserializerEntity.Request.yml
文件来使其工作。
所以我删除了configserializerEntity.Request.yml
的文件,这是我的实体Request
文件:
use JMSSerializerAnnotationExclusionPolicy,
JMSSerializerAnnotationExpose,
JMSSerializerAnnotationType,
JMSSerializerAnnotationXmlRoot;
/**
* Request
* @ExclusionPolicy("all")
* @XmlRoot("request")
*/
class Request{
/**
* @var integer
* @Expose
* @Type("integer")
*/
private $id;
/**
* @var string
* @Expose
* @Type("string")
*/
private $label;
/**
* @var string
* @Expose
* @Type("string")
*/
private $issuer;
[...]
}