В дополнение к Камильскому ответу :
Вместо создания собственного перехватчика теперь вы можете использовать встроенный ClassSerializerInterceptor
, см. Документацию по сериализации .
@UseInterceptors(ClassSerializerInterceptor)
Вы можете использовать его в классе контроллера или его отдельных методах.Каждая сущность, возвращаемая таким методом, будет преобразована с помощью класса-преобразователя.
Вы можете настроить его поведение, задав @SerializeOptions()
на своем контроллере или его методах:
@SerializeOptions({
excludePrefixes: ['_'],
groups: ['admin']
})