2012-04-13 14:11:54 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This file is part of the NelmioApiDocBundle.
|
|
|
|
*
|
|
|
|
* (c) Nelmio <hello@nelm.io>
|
|
|
|
*
|
|
|
|
* For the full copyright and license information, please view the LICENSE
|
|
|
|
* file that was distributed with this source code.
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Nelmio\ApiDocBundle\Tests\Fixtures\Controller;
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
use Nelmio\ApiDocBundle\Attribute\ApiDoc;
|
2015-11-30 19:19:17 +01:00
|
|
|
use Nelmio\ApiDocBundle\Tests\Fixtures\DependencyTypePath;
|
2024-10-01 23:00:23 +03:00
|
|
|
use Nelmio\ApiDocBundle\Tests\Fixtures\Form\TestType;
|
2012-04-13 15:18:54 +02:00
|
|
|
use Symfony\Component\HttpFoundation\Response;
|
2012-04-13 14:11:54 +02:00
|
|
|
|
|
|
|
class TestController
|
|
|
|
{
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
resource: 'TestResource',
|
|
|
|
views: 'default'
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function namedResourceAction(): void
|
2013-10-11 16:18:02 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
resource: true,
|
|
|
|
description: 'index action',
|
|
|
|
filters: [
|
|
|
|
['name' => 'a', 'dataType' => 'integer'],
|
|
|
|
['name' => 'b', 'dataType' => 'string', 'arbitrary' => ['arg1', 'arg2']],
|
|
|
|
],
|
|
|
|
)]
|
2012-04-13 14:11:54 +02:00
|
|
|
public function indexAction()
|
|
|
|
{
|
2012-04-13 15:18:54 +02:00
|
|
|
return new Response('tests');
|
2012-04-13 14:11:54 +02:00
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
resource: true,
|
|
|
|
description: 'create test',
|
|
|
|
views: ['default', 'premium'],
|
|
|
|
input: TestType::class
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function postTestAction(): void
|
2012-04-13 14:11:54 +02:00
|
|
|
{
|
|
|
|
}
|
2012-04-13 14:42:28 +02:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
description: 'post test 2',
|
|
|
|
views: ['default', 'premium'],
|
|
|
|
resource: true
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function postTest2Action(): void
|
2013-03-21 12:15:44 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
description: 'Action with required parameters',
|
|
|
|
input: "Nelmio\ApiDocBundle\Tests\Fixtures\Form\RequiredType"
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function requiredParametersAction(): void
|
2014-09-29 16:18:11 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 15:54:04 +03:00
|
|
|
public function anotherAction(): void
|
2012-04-13 14:42:28 +02:00
|
|
|
{
|
|
|
|
}
|
2012-04-13 15:00:46 +02:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function routeVersionAction(): void
|
2019-04-24 12:55:08 +03:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(description: 'Action without HTTP verb')]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function anyAction(): void
|
2012-04-13 15:00:46 +02:00
|
|
|
{
|
|
|
|
}
|
2012-04-19 16:23:26 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* This method is useful to test if the getDocComment works.
|
2012-04-19 17:17:36 +02:00
|
|
|
* And, it supports multilines until the first '@' char.
|
2012-04-19 16:23:26 +02:00
|
|
|
*
|
2013-11-14 10:28:42 +01:00
|
|
|
* @param int $id A nice comment
|
2012-05-07 12:51:22 +02:00
|
|
|
* @param int $page
|
2013-05-03 14:37:52 +01:00
|
|
|
* @param int $paramType The param type
|
2013-11-14 10:28:42 +01:00
|
|
|
* @param int $param The param id
|
2012-04-19 16:23:26 +02:00
|
|
|
*/
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function myCommentedAction($id, $page, int $paramType, int $param): void
|
2012-04-19 16:23:26 +02:00
|
|
|
{
|
|
|
|
}
|
2012-04-19 20:27:27 +02:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function yetAnotherAction(): void
|
2012-04-19 20:27:27 +02:00
|
|
|
{
|
|
|
|
}
|
2012-06-21 00:12:21 +02:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
views: ['default', 'test'],
|
|
|
|
description: 'create another test',
|
|
|
|
input: DependencyTypePath::TYPE
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function anotherPostAction(): void
|
2012-06-21 00:12:21 +02:00
|
|
|
{
|
|
|
|
}
|
2012-07-20 00:58:58 +02:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
description: 'Testing JMS',
|
|
|
|
input: "Nelmio\ApiDocBundle\Tests\Fixtures\Model\JmsTest"
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function jmsInputTestAction(): void
|
2012-08-07 17:50:58 -04:00
|
|
|
{
|
|
|
|
}
|
2012-08-27 12:56:19 -04:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
description: 'Testing return',
|
|
|
|
output: DependencyTypePath::TYPE
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function jmsReturnTestAction(): void
|
2012-08-27 12:56:19 -04:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function zCachedAction(): void
|
2014-08-28 00:12:34 +02:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function zSecuredAction(): void
|
2013-03-27 16:20:42 +01:00
|
|
|
{
|
|
|
|
}
|
2013-04-24 22:28:46 +02:00
|
|
|
|
2013-04-16 19:40:29 +01:00
|
|
|
/**
|
|
|
|
* @deprecated
|
|
|
|
*/
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function deprecatedAction(): void
|
2013-04-16 19:40:29 +01:00
|
|
|
{
|
|
|
|
}
|
2013-04-24 22:28:46 +02:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
output: "Nelmio\ApiDocBundle\Tests\Fixtures\Model\JmsTest"
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function jmsReturnNestedOutputAction(): void
|
2013-04-24 22:28:46 +02:00
|
|
|
{
|
|
|
|
}
|
2013-07-17 20:41:27 +02:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
output: "Nelmio\ApiDocBundle\Tests\Fixtures\Model\JmsChild"
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function jmsReturnNestedExtendedOutputAction(): void
|
2013-12-11 01:59:59 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
output: "Nelmio\ApiDocBundle\Tests\Fixtures\Model\MultipleTest"
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function zReturnJmsAndValidationOutputAction(): void
|
2013-11-07 13:30:13 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
description: 'Returns a collection of Object',
|
|
|
|
requirements: [
|
|
|
|
['name' => 'limit', 'dataType' => 'integer', 'requirement' => "\d+", 'description' => 'how many objects to return'],
|
|
|
|
],
|
|
|
|
parameters: [
|
|
|
|
['name' => 'categoryId', 'dataType' => 'integer', 'required' => true, 'description' => 'category id'],
|
|
|
|
]
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function cgetAction($id): void
|
2013-07-17 20:41:27 +02:00
|
|
|
{
|
|
|
|
}
|
2013-12-05 00:05:47 +01:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
input: [
|
|
|
|
'class' => TestType::class,
|
|
|
|
'parsers' => ["Nelmio\ApiDocBundle\Parser\FormTypeParser"],
|
|
|
|
]
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function zReturnSelectedParsersInputAction(): void
|
2013-12-05 00:05:47 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
output: [
|
|
|
|
'class' => "Nelmio\ApiDocBundle\Tests\Fixtures\Model\MultipleTest",
|
|
|
|
'parsers' => [
|
|
|
|
"Nelmio\ApiDocBundle\Parser\JmsMetadataParser",
|
|
|
|
"Nelmio\ApiDocBundle\Parser\ValidationParser",
|
|
|
|
],
|
|
|
|
]
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function zReturnSelectedParsersOutputAction(): void
|
2013-12-05 00:05:47 +01:00
|
|
|
{
|
|
|
|
}
|
2014-01-16 13:42:37 +01:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
section: 'private'
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function privateAction(): void
|
2014-01-16 13:42:37 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
section: 'exclusive'
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function exclusiveAction(): void
|
2014-01-16 13:42:37 +01:00
|
|
|
{
|
|
|
|
}
|
2014-12-12 16:13:55 +01:00
|
|
|
|
|
|
|
/**
|
2024-10-01 15:54:04 +03:00
|
|
|
* @see http://symfony.com
|
2014-12-12 16:13:55 +01:00
|
|
|
*/
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function withLinkAction(): void
|
2014-12-12 16:13:55 +01:00
|
|
|
{
|
|
|
|
}
|
2015-10-27 13:36:07 +01:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
input: ['class' => "Nelmio\ApiDocBundle\Tests\Fixtures\Model\JmsTest"],
|
|
|
|
output: "Nelmio\ApiDocBundle\Tests\Fixtures\Model\JmsTest",
|
|
|
|
parameters: [
|
|
|
|
[
|
|
|
|
'name' => 'number',
|
|
|
|
'dataType' => 'integer',
|
|
|
|
'actualType' => 'string',
|
|
|
|
'subType' => null,
|
|
|
|
'required' => true,
|
|
|
|
'description' => 'This is the new description',
|
|
|
|
'readonly' => false,
|
|
|
|
'sinceVersion' => 'v3.0',
|
|
|
|
'untilVersion' => 'v4.0',
|
|
|
|
],
|
|
|
|
[
|
|
|
|
'name' => 'arr',
|
|
|
|
'dataType' => 'object (ArrayCollection)',
|
|
|
|
],
|
|
|
|
[
|
|
|
|
'name' => 'nested',
|
|
|
|
'dataType' => 'object (JmsNested)',
|
|
|
|
'children' => [
|
|
|
|
'bar' => [
|
|
|
|
'dataType' => 'integer',
|
|
|
|
'format' => 'd+',
|
|
|
|
],
|
|
|
|
],
|
|
|
|
],
|
|
|
|
]
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function overrideJmsAnnotationWithApiDocParametersAction(): void
|
2015-10-27 13:36:07 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
output: "Nelmio\ApiDocBundle\Tests\Fixtures\Model\JmsTest",
|
|
|
|
input: [
|
|
|
|
'class' => "Nelmio\ApiDocBundle\Tests\Fixtures\Model\JmsTest",
|
|
|
|
],
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function defaultJmsAnnotations(): void
|
2015-10-27 13:36:07 +01:00
|
|
|
{
|
|
|
|
}
|
2015-11-10 01:51:26 +01:00
|
|
|
|
2024-10-01 23:00:23 +03:00
|
|
|
#[ApiDoc(
|
|
|
|
description: 'Route with host placeholder',
|
|
|
|
views: ['default']
|
|
|
|
)]
|
2024-10-01 15:54:04 +03:00
|
|
|
public function routeWithHostAction(): void
|
2015-11-10 01:51:26 +01:00
|
|
|
{
|
|
|
|
}
|
2012-04-13 14:11:54 +02:00
|
|
|
}
|