使用 JMS 序列化程序和 Symfony 2.6 添加根元素名称



我已经使用Symfony 2.6FOSRestBundleJMSSerializerBundle实现了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;
    [...]
}

相关内容

  • 没有找到相关文章

最新更新