14
14
use ApiPlatform \Core \Api \FilterCollection ;
15
15
use ApiPlatform \Core \Bridge \NelmioApiDoc \Parser \ApiPlatformParser ;
16
16
use ApiPlatform \Core \Bridge \Symfony \Routing \OperationMethodResolverInterface ;
17
- use ApiPlatform \Core \Documentation \ApiDocumentationBuilderInterface ;
18
17
use ApiPlatform \Core \Metadata \Resource \Factory \ResourceMetadataFactoryInterface ;
19
18
use ApiPlatform \Core \Metadata \Resource \Factory \ResourceNameCollectionFactoryInterface ;
20
19
use ApiPlatform \Core \Metadata \Resource \ResourceMetadata ;
21
20
use Nelmio \ApiDocBundle \Annotation \ApiDoc ;
22
21
use Nelmio \ApiDocBundle \Extractor \AnnotationsProviderInterface ;
23
22
use Symfony \Component \HttpFoundation \Request ;
23
+ use Symfony \Component \Serializer \Normalizer \NormalizerInterface ;
24
24
25
25
/**
26
26
* Creates Nelmio ApiDoc annotations for the api platform.
31
31
final class ApiPlatformProvider implements AnnotationsProviderInterface
32
32
{
33
33
private $ resourceNameCollectionFactory ;
34
- private $ apiDocumentationBuilder ;
34
+ private $ documentationNormalizer ;
35
35
private $ resourceMetadataFactory ;
36
36
private $ filters ;
37
37
private $ operationMethodResolver ;
38
38
39
- public function __construct (ResourceNameCollectionFactoryInterface $ resourceNameCollectionFactory , ApiDocumentationBuilderInterface $ apiDocumentationBuilder , ResourceMetadataFactoryInterface $ resourceMetadataFactory , FilterCollection $ filters , OperationMethodResolverInterface $ operationMethodResolver )
39
+ public function __construct (ResourceNameCollectionFactoryInterface $ resourceNameCollectionFactory , NormalizerInterface $ documentationNormalizer , ResourceMetadataFactoryInterface $ resourceMetadataFactory , FilterCollection $ filters , OperationMethodResolverInterface $ operationMethodResolver )
40
40
{
41
41
$ this ->resourceNameCollectionFactory = $ resourceNameCollectionFactory ;
42
- $ this ->apiDocumentationBuilder = $ apiDocumentationBuilder ;
42
+ $ this ->documentationNormalizer = $ documentationNormalizer ;
43
43
$ this ->resourceMetadataFactory = $ resourceMetadataFactory ;
44
44
$ this ->filters = $ filters ;
45
45
$ this ->operationMethodResolver = $ operationMethodResolver ;
@@ -51,7 +51,7 @@ public function __construct(ResourceNameCollectionFactoryInterface $resourceName
51
51
public function getAnnotations () : array
52
52
{
53
53
$ annotations = [];
54
- $ hydraDoc = $ this ->apiDocumentationBuilder -> getApiDocumentation ( );
54
+ $ hydraDoc = $ this ->documentationNormalizer -> normalize ( $ this -> resourceNameCollectionFactory -> create () );
55
55
$ entrypointHydraDoc = $ this ->getResourceHydraDoc ($ hydraDoc , '#Entrypoint ' );
56
56
57
57
foreach ($ this ->resourceNameCollectionFactory ->create () as $ resourceClass ) {
0 commit comments