203 lines
4.9 KiB
PHP
Raw Normal View History

2016-07-12 00:33:55 +02:00
<?php
/*
2016-12-29 12:09:26 +01:00
* This file is part of the NelmioApiDocBundle package.
2016-07-12 00:33:55 +02:00
*
2016-12-29 12:09:26 +01:00
* (c) Nelmio
2016-07-12 00:33:55 +02:00
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
2016-12-29 12:09:26 +01:00
namespace Nelmio\ApiDocBundle\Tests\Functional\Controller;
2016-07-12 00:33:55 +02:00
use Nelmio\ApiDocBundle\Annotation\Areas;
2017-01-14 17:36:56 +01:00
use Nelmio\ApiDocBundle\Annotation\Model;
2017-03-16 19:35:04 +01:00
use Nelmio\ApiDocBundle\Annotation\Operation;
use Nelmio\ApiDocBundle\Annotation\Security;
2017-06-13 13:34:26 +02:00
use Nelmio\ApiDocBundle\Tests\Functional\Entity\Article;
use Nelmio\ApiDocBundle\Tests\Functional\Entity\SymfonyConstraints;
use Nelmio\ApiDocBundle\Tests\Functional\Entity\User;
2017-06-24 17:49:00 +02:00
use Nelmio\ApiDocBundle\Tests\Functional\Form\DummyType;
use Nelmio\ApiDocBundle\Tests\Functional\Form\UserType;
use OpenApi\Annotations as OA;
2019-11-19 18:24:58 +01:00
use Symfony\Component\Routing\Annotation\Route;
2016-07-12 00:33:55 +02:00
/**
2018-03-13 12:40:36 -03:00
* @Route("/api", host="api.example.com")
*/
2016-07-12 00:33:55 +02:00
class ApiController
{
2017-06-13 13:34:26 +02:00
/**
* @OA\Response(
* response="200",
* description="Success",
* @Model(type=Article::class, groups={"light"}))
2017-06-13 13:34:26 +02:00
* )
* @OA\Parameter(ref="#/components/parameters/test")
2017-06-13 13:34:26 +02:00
* @Route("/article/{id}", methods={"GET"})
*/
public function fetchArticleAction()
{
}
/**
* The method LINK is not supported by OpenAPI so the method will be ignored.
*
* @Route("/swagger", methods={"GET", "LINK"})
* @Route("/swagger2", methods={"GET"})
2017-03-16 19:35:04 +01:00
* @Operation(
* @OA\Response(response="201", description="An example resource")
* )
*/
public function swaggerAction()
{
}
/**
* @Route("/swagger/implicit", methods={"GET", "POST"})
* @OA\Response(
* response="201",
* description="Operation automatically detected",
* @Model(type=User::class)
* ),
* @OA\RequestBody(
* description="This is a request body",
* @OA\JsonContent(
* type="array",
* @OA\Items(ref=@Model(type=User::class))
* )
2017-01-14 17:36:56 +01:00
* )
* @OA\Tag(name="implicit")
*/
public function implicitSwaggerAction()
{
}
/**
* @Route("/test/users/{user}", methods={"POST"}, schemes={"https"}, requirements={"user"="/foo/"})
* @OA\Response(
* response="201",
* description="Operation automatically detected",
* @Model(type=User::class)
* ),
* @OA\RequestBody(
* description="This is a request body",
* @Model(type=UserType::class, options={"bar": "baz"}))
* )
*/
public function submitUserTypeAction()
{
}
2016-07-12 00:33:55 +02:00
/**
* @Route("/test/{user}", methods={"GET"}, schemes={"https"}, requirements={"user"="/foo/"})
* @OA\Response(response=200, description="sucessful")
2016-07-12 00:33:55 +02:00
*/
public function userAction()
{
}
2016-07-13 23:05:14 +02:00
/**
* This action is deprecated.
*
* Please do not use this action.
*
* @Route("/deprecated", methods={"GET"})
2016-07-14 23:52:01 +02:00
*
2016-07-13 23:05:14 +02:00
* @deprecated
*/
public function deprecatedAction()
{
}
/**
* This action is not documented. It is excluded by the config.
*
* @Route("/admin", methods={"GET"})
*/
public function adminAction()
{
}
2017-03-16 19:35:04 +01:00
/**
* @OA\Get(
2017-03-16 19:35:04 +01:00
* path="/filtered",
* @OA\Response(response="201", description="")
2017-03-16 19:35:04 +01:00
* )
*/
public function filteredAction()
{
}
2017-06-24 17:49:00 +02:00
/**
* @Route("/form", methods={"POST"})
* @OA\RequestBody(
* description="Request content",
* @Model(type=DummyType::class))
2017-06-24 17:49:00 +02:00
* )
* @OA\Response(response="201", description="")
2017-06-24 17:49:00 +02:00
*/
public function formAction()
{
}
/**
* @Route("/security")
* @OA\Response(response="201", description="")
* @Security(name="api_key")
* @Security(name="basic")
*/
public function securityAction()
{
}
/**
* @Route("/swagger/symfonyConstraints", methods={"GET"})
* @OA\Response(
* response="201",
* description="Used for symfony constraints test",
* @Model(type=SymfonyConstraints::class)
* )
*/
public function symfonyConstraintsAction()
{
}
/**
* @OA\Response(
* response="200",
* description="Success",
* ref="#/components/schemas/Test"
* ),
* @OA\Response(
* response="201",
* ref="#/components/responses/201"
* )
* @Route("/configReference", methods={"GET"})
*/
public function configReferenceAction()
{
}
/**
* @Route("/multi-annotations", methods={"GET", "POST"})
* @OA\Get(description="This is the get operation")
* @OA\Post(description="This is post")
*
* @OA\Response(response=200, description="Worked well!", @Model(type=DummyType::class))
*/
public function operationsWithOtherAnnotations()
{
}
/**
* @Route("/areas/new", methods={"GET", "POST"})
*
* @Areas({"area", "area2"})
*/
public function newAreaAction()
{
}
2016-07-12 00:33:55 +02:00
}