我是Symfony 4和API平台的全新用户,我想更新现有的API(使用FOSRest创建)。
我有很多返回自定义JSON对象的路由,与我的实体不同。
例如,我有一个1,11180
实体
Offer
我想返回一个基于该产品实体但带有自定义字段的JSON对象。
为该一种GET方法创建新资源真的是强制性的吗,还是有最佳实践呢?
谢谢。
答案 0 :(得分:0)
有多种添加自定义数据的方法:
class Offer
{
public function getSomethingCustomized()
{
return 'something_customized';
}
}
您可能还需要使用serialization groups。
如果您的自定义数据需要从实体外部提取: Here is the documentation
它会覆盖默认的Serializer
服务(在发送响应之前调用),并允许您向每个请求添加额外的数据(从任意位置)。
如果您需要更多细粒度的控制,还可以使用一个(或多个)api-platform event。
我个人使用这种方法来调和(持久性)实体上的外部关系(不是教义所坚持的)。