From 91e8af5406fcfff1f61cb79a8b9ce714b46a881f Mon Sep 17 00:00:00 2001 From: Guilhem Niot Date: Tue, 20 Jun 2017 20:49:50 +0200 Subject: [PATCH] Fix docs when using FOSRestBundle format listener --- Controller/SwaggerUiController.php | 6 +++++- Tests/Functional/SwaggerUiTest.php | 1 + Tests/Functional/TestKernel.php | 13 +++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Controller/SwaggerUiController.php b/Controller/SwaggerUiController.php index 57169d4..44ed7a2 100644 --- a/Controller/SwaggerUiController.php +++ b/Controller/SwaggerUiController.php @@ -27,6 +27,10 @@ final class SwaggerUiController public function __invoke() { - return new Response($this->twig->render('@NelmioApiDoc/SwaggerUi/index.html.twig', ['swagger_data' => ['spec' => $this->apiDocGenerator->generate()->toArray()]])); + return new Response( + $this->twig->render('@NelmioApiDoc/SwaggerUi/index.html.twig', ['swagger_data' => ['spec' => $this->apiDocGenerator->generate()->toArray()]]), + Response::HTTP_OK, + ['Content-Type' => 'text/html'] + ); } } diff --git a/Tests/Functional/SwaggerUiTest.php b/Tests/Functional/SwaggerUiTest.php index 189f033..3183300 100644 --- a/Tests/Functional/SwaggerUiTest.php +++ b/Tests/Functional/SwaggerUiTest.php @@ -20,6 +20,7 @@ class SwaggerUiTest extends WebTestCase $response = $client->getResponse(); $this->assertEquals(200, $response->getStatusCode()); + $this->assertEquals('text/html; charset=UTF-8', $response->headers->get('Content-Type')); $swaggerUiSpec = json_decode($crawler->filterXPath('//script[@id="swagger-data"]')->text(), true); $appSpec = $client->getContainer()->get('nelmio_api_doc.generator')->generate()->toArray(); diff --git a/Tests/Functional/TestKernel.php b/Tests/Functional/TestKernel.php index a1ec318..35b0a37 100644 --- a/Tests/Functional/TestKernel.php +++ b/Tests/Functional/TestKernel.php @@ -12,6 +12,7 @@ namespace Nelmio\ApiDocBundle\Tests\Functional; use ApiPlatform\Core\Bridge\Symfony\Bundle\ApiPlatformBundle; +use FOS\RestBundle\FOSRestBundle; use Nelmio\ApiDocBundle\NelmioApiDocBundle; use Nelmio\ApiDocBundle\Tests\Functional\TestBundle; use Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle; @@ -38,6 +39,7 @@ class TestKernel extends Kernel new SensioFrameworkExtraBundle(), new ApiPlatformBundle(), new NelmioApiDocBundle(), + new FOSRestBundle(), new TestBundle(), ]; } @@ -67,6 +69,17 @@ class TestKernel extends Kernel 'serializer' => ['enable_annotations' => true], ]); + $c->loadFromExtension('fos_rest', [ + 'format_listener' => [ + 'rules' => [ + [ + 'path' => '^/', + 'fallback_format' => 'json', + ] + ], + ], + ]); + // Filter routes $c->loadFromExtension('nelmio_api_doc', [ 'documentation' => [