Nelmio API doc area 和 bearer token with symfony 4

Nelmio API doc area and bearer token with symfony 4

我在 Symfony 4 中有 API。我将 NelmioApiDocBundle 添加到我的项目中,但我的文档有问题。这是我的配置: packages\nelmio_api_doc.yaml

nelmio_api_doc:
    documentation:
        #        schemes: [http, https]
        info:
            title: Symfony JWT API
            description: Symfony JWT API docs
            version: 1.0.0
        securityDefinitions:
            Bearer:
                type: apiKey
                description: 'Authorization: Bearer {jwt}'
                name: Authorization
                in: header
        security:
            - Bearer: []
    areas: # to filter documented areas
        default:
            path_patterns:
                - ^/api(?!/doc$) # Accepts routes under /api except /api/doc

config\routes.yaml

# Expose your documentation as JSON swagger compliant
app.swagger_ui:
    path: /api/doc
    methods: GET
    defaults: { _controller: nelmio_api_doc.controller.swagger_ui }

这是我的招摇 ui 屏幕:

我有控制器:SpeakerController、HomeController,如何让每个控制器成为一个单独的区域,其余的默认?即区域 Speaker 中的 SpeakerController,Home 区域中的 HomeController 等 ..

我的下一个问题是我有一个 API 受不记名令牌保护,当我大摇大摆地单击授权时,我将添加当前的 jwt 令牌并且我想请求它,作为响应我得到:

{
  "code": 401,
  "message": "JWT Token not found"
}

在邮递员中我没有问题:

您需要使用标签注释您的控制器:

@SWG\Tag(name="Speaker")

参见: https://symfony.com/doc/current/bundles/NelmioApiDocBundle/index.html#using-the-bundle

您必须发送带有前缀的 apiKey 值

Bearer