softfineware / discriminator-default-normalizer-bundle
1.0.0
2023-02-04 15:20 UTC
Requires
- php: ^8.1
- softfineware/discriminator-default-normalizer: ^1.1
- symfony/symfony: ^6.1
Requires (Dev)
- roave/security-advisories: dev-latest
- symfony/test-pack: ^1.0
README
如何使用
use SoftFineWare\SerializerDiscriminatorDefault\Attributes\DiscriminatorDefault; use Symfony\Component\Serializer\Annotation\DiscriminatorMap; #[DiscriminatorDefault(class: DefaultRequest::class)] #[DiscriminatorMap(typeProperty: 'type', mapping: [ 'a' => ARequest::class, ])] abstract class BaseRequest { public function __construct( public readonly string $id, public readonly string $type ) { } } class DefaultRequest extends BaseRequest {}
如果无匹配,json 将会默认反规范化到由 DiscriminatorDefault
属性指定的类
DiscriminatorDefault
不应指向具有 DiscriminatorMap
的类,新的子类必须创建为 DefaultRequest
如上所述
安装
此规范化程序必须具有优先级 -999
\Symfony\Component\Serializer\Normalizer\ObjectNormalizer::class