我有一个API,其API调用GET /users
会返回一个所有avatar_url
字段的用户列表
在数据库中,此字段只是图像名称,而在控制器中,然后将我的静态域的基本URL提供给图像。因此,它只能在我的conf中更改一个URL,因此代码可用于登台/制作等。
但是事情开始变得棘手GET /comments
等所有人都有需要拥有url的子资源用户,所以这意味着当前使用用户的每一个点都需要有这个逻辑,这不是很干
我想有类似的东西
// in my entity
use JMS\Serializer\Annotation as Serializer;
/**
* @Serializer\VirtualProperty
* @Serializer\SerializedName("url")
*/
public function getUrl()
{
return $this->container->getParameter('IMG_URL').$this->imgName;
}
所以无论我的实体嵌套有多深,我都可以用属性来封装它。
在我看来,有可能实现像捆绑
这样的东西https://github.com/KnpLabs/DoctrineBehaviors
似乎可以实现类似的东西
答案 0 :(得分:1)
检查一下。 http://jmsyst.com/libs/serializer/master/handlers 根据我的理解,您可以为url序列化程序创建自己的处理程序。通过将处理程序作为您编写的服务,您可以在其中注入任何内容。
找到更多信息