在EventSubscriber中抛出异常会阻止ApiPlatform对其进行序列化,因此我只会得到标准的symfony错误页面

时间:2019-07-05 14:50:15

标签: symfony symfony4 api-platform.com

我正在尝试在EventSubscriber中执行一些侦听请求的过程。为了简单起见,我想检查标题并拒绝请求(如果找不到)。它几乎像一个Guard,但相当简单。 在那一步中,我可能会抛出异常。它可以工作,除了我希望apiPlatform管理响应并将其序列化。

我已经使用packages / api_platform.yaml配置了ApiPlatform

api_platform:
    exception_to_status:
        Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException: 403

我的EventSubscriber在services.yaml中如此配置

services:
  app.security.api_subscriber:
    class: App\Security\ApiAccessSubscriber
    arguments:
      - "%api.authorized.keys%"
    calls:
      - [setClient, ["@common-sentry-api"]]
      - [setClientPerUser, ["@common-sentry-peruser"]]

我的订户这样描述自己:

    public static function getSubscribedEvents()
    {
        return [
            KernelEvents::REQUEST => ['onKernelRequest', EventPriorities::POST_WRITE],
        ];
    }

我在做什么错?

0 个答案:

没有答案