mirror of
https://github.com/retailcrm/NelmioApiDocBundle.git
synced 2025-02-09 02:59:27 +03:00
commit
3bc05aa6dc
@ -30,6 +30,9 @@ final class ApiPlatformDescriber extends ExternalDocDescriber
|
|||||||
[DocumentationNormalizer::SPEC_VERSION => 3]
|
[DocumentationNormalizer::SPEC_VERSION => 3]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// TODO: remove this
|
||||||
|
// Temporary fix: zircote/swagger-php does no longer support 3.0.x with x > 0
|
||||||
|
unset($documentation['openapi']);
|
||||||
unset($documentation['basePath']);
|
unset($documentation['basePath']);
|
||||||
|
|
||||||
return $documentation;
|
return $documentation;
|
||||||
|
@ -15,23 +15,23 @@ use Nelmio\ApiDocBundle\Annotation\Areas;
|
|||||||
use Nelmio\ApiDocBundle\Annotation\Model;
|
use Nelmio\ApiDocBundle\Annotation\Model;
|
||||||
use Nelmio\ApiDocBundle\Annotation\Security;
|
use Nelmio\ApiDocBundle\Annotation\Security;
|
||||||
use Nelmio\ApiDocBundle\Tests\Functional\Entity\Article;
|
use Nelmio\ApiDocBundle\Tests\Functional\Entity\Article;
|
||||||
use OpenApi\Annotations as OA;
|
use OpenApi\Attributes as OA;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
|
|
||||||
class ApiController81 extends ApiController80
|
class ApiController81 extends ApiController80
|
||||||
{
|
{
|
||||||
#[OA\Get([
|
#[OA\Get(responses: [
|
||||||
'value' => new OA\Response(
|
new OA\Response(
|
||||||
response: '200',
|
response: '200',
|
||||||
description: 'Success',
|
description: 'Success',
|
||||||
properties: [
|
attachables: [
|
||||||
'value' => new Model(type: Article::class, groups: ['light']),
|
new Model(type: Article::class, groups: ['light']),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
])]
|
])]
|
||||||
#[OA\Parameter(ref: '#/components/parameters/test')]
|
#[OA\Parameter(ref: '#/components/parameters/test')]
|
||||||
#[Route('/article_attributes/{id}', methods: ['GET'])]
|
#[Route('/article_attributes/{id}', methods: ['GET'])]
|
||||||
#[OA\Parameter(name: 'Accept-Version', in: 'header', properties: ['value' => new OA\Schema(type: 'string')])]
|
#[OA\Parameter(name: 'Accept-Version', in: 'header', attachables: [new OA\Schema(type: 'string')])]
|
||||||
public function fetchArticleActionWithAttributes()
|
public function fetchArticleActionWithAttributes()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ use Doctrine\Common\Annotations\AnnotationReader;
|
|||||||
use Nelmio\ApiDocBundle\Model\ModelRegistry;
|
use Nelmio\ApiDocBundle\Model\ModelRegistry;
|
||||||
use Nelmio\ApiDocBundle\ModelDescriber\Annotations\OpenApiAnnotationsReader;
|
use Nelmio\ApiDocBundle\ModelDescriber\Annotations\OpenApiAnnotationsReader;
|
||||||
use OpenApi\Annotations as OA;
|
use OpenApi\Annotations as OA;
|
||||||
|
use OpenApi\Attributes as OAattr;
|
||||||
use OpenApi\Generator;
|
use OpenApi\Generator;
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
@ -57,9 +58,9 @@ class AnnotationReaderTest extends TestCase
|
|||||||
|
|
||||||
if (\PHP_VERSION_ID >= 80100) {
|
if (\PHP_VERSION_ID >= 80100) {
|
||||||
yield 'Attributes' => [new class() {
|
yield 'Attributes' => [new class() {
|
||||||
#[OA\Property(example: 1)]
|
#[OAattr\Property(example: 1)]
|
||||||
private $property1;
|
private $property1;
|
||||||
#[OA\Property(example: 'some example', description: 'some description')]
|
#[OAattr\Property(example: 'some example', description: 'some description')]
|
||||||
private $property2;
|
private $property2;
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
@ -58,7 +58,7 @@ class UtilTest extends TestCase
|
|||||||
{
|
{
|
||||||
$context = Util::createContext([], $this->rootContext);
|
$context = Util::createContext([], $this->rootContext);
|
||||||
|
|
||||||
$this->assertSame($this->rootContext, $context->getRootContext());
|
$this->assertContextIsConnectedToRootContext($context);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testCreateContextWithProperties()
|
public function testCreateContextWithProperties()
|
||||||
@ -818,7 +818,20 @@ class UtilTest extends TestCase
|
|||||||
|
|
||||||
public function assertIsConnectedToRootContext(OA\AbstractAnnotation $annotation)
|
public function assertIsConnectedToRootContext(OA\AbstractAnnotation $annotation)
|
||||||
{
|
{
|
||||||
$this->assertSame($this->rootContext, $annotation->_context->getRootContext());
|
$this->assertContextIsConnectedToRootContext($annotation->_context);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function assertContextIsConnectedToRootContext(Context $context)
|
||||||
|
{
|
||||||
|
$getRootContext = \Closure::bind(function (Context $context) use (&$getRootContext) {
|
||||||
|
if (null !== $context->_parent) {
|
||||||
|
return $getRootContext($context->_parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $context;
|
||||||
|
}, null, Context::class);
|
||||||
|
|
||||||
|
$this->assertSame($this->rootContext, $getRootContext($context));
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getSetupPropertiesWithoutClass(array $setup)
|
private function getSetupPropertiesWithoutClass(array $setup)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user