ApiPlatform\Core\Bridge\Symfony\Bundle\EventListener\SwaggerUiListener::onKernelRequest PHP Метод

onKernelRequest() публичный метод

Sets SwaggerUiAction as controller if the requested format is HTML.
public onKernelRequest ( GetResponseEvent $event )
$event Symfony\Component\HttpKernel\Event\GetResponseEvent GetResponseEvent
    public function onKernelRequest(GetResponseEvent $event)
    {
        $request = $event->getRequest();
        if ('html' !== $request->getRequestFormat(null) || !$request->attributes->has('_api_resource_class') && !$request->attributes->has('_api_respond')) {
            return;
        }
        $request->attributes->set('_controller', 'api_platform.swagger.action.ui');
    }

Usage Example

Пример #1
0
 /**
  * @dataProvider getParameters
  */
 public function testOnKernelRequest(Request $request, string $controller = null)
 {
     $eventProphecy = $this->prophesize(GetResponseEvent::class);
     $eventProphecy->getRequest()->willReturn($request)->shouldBeCalled();
     $listener = new SwaggerUiListener();
     $listener->onKernelRequest($eventProphecy->reveal());
     $this->assertEquals($controller, $request->attributes->get('_controller'));
 }
SwaggerUiListener