symfony hateoas 和 jms 序列化
symfony hateoas and jms serialization
我有一个实体客户,我想同时拥有 Hatoas 链接和自定义序列化
/**
* Customer ORM Entity
*
* @package AppBundle\Entity
*
* @Hateoas\Relation("self", href = @Hateoas\Route("get_customers", parameters = { "customer" = "expr(object.getId())" }))
* @Hateoas\Relation("customers", href = @Hateoas\Route("cget_customers"))))
*/
这是 hateoas 链接的注释
AppBundle\Entity\Customer:
exclusion_policy: ALL
virtual_properties:
getFullName:
serialized_name: full_name
type: string
这是我用于 jms 序列化的 yaml 配置,但出于某种原因,它也删除了 hateoas 链接。
我怎样才能取回它?告诉序列化程序不要删除 _links 属性?
在 Hateoas documentation 中说:
Important: you must configure both the Serializer and Hateoas the same way. E.g. if you use YAML for configuring Serializer, use YAML for configuring Hateoas.
例如,使用YAML format进行配置,应该可以解决您的问题。
正如@takeit 所说,您应该使用与序列化程序相同的配置。对于您的示例,试试这个:
AppBundle\Entity\Customer:
exclusion_policy: ALL
virtual_properties:
getFullName:
serialized_name: full_name
type: string
relations:
-
href:
route: get_customers
parameters:
customer: expr(object.getId())
# absolute: 0
customers:
route: cget_customers
希望对您有所帮助
我有一个实体客户,我想同时拥有 Hatoas 链接和自定义序列化
/**
* Customer ORM Entity
*
* @package AppBundle\Entity
*
* @Hateoas\Relation("self", href = @Hateoas\Route("get_customers", parameters = { "customer" = "expr(object.getId())" }))
* @Hateoas\Relation("customers", href = @Hateoas\Route("cget_customers"))))
*/
这是 hateoas 链接的注释
AppBundle\Entity\Customer:
exclusion_policy: ALL
virtual_properties:
getFullName:
serialized_name: full_name
type: string
这是我用于 jms 序列化的 yaml 配置,但出于某种原因,它也删除了 hateoas 链接。
我怎样才能取回它?告诉序列化程序不要删除 _links 属性?
在 Hateoas documentation 中说:
Important: you must configure both the Serializer and Hateoas the same way. E.g. if you use YAML for configuring Serializer, use YAML for configuring Hateoas.
例如,使用YAML format进行配置,应该可以解决您的问题。
正如@takeit 所说,您应该使用与序列化程序相同的配置。对于您的示例,试试这个:
AppBundle\Entity\Customer:
exclusion_policy: ALL
virtual_properties:
getFullName:
serialized_name: full_name
type: string
relations:
-
href:
route: get_customers
parameters:
customer: expr(object.getId())
# absolute: 0
customers:
route: cget_customers
希望对您有所帮助