Nelmio API文件区域和带symfony 4的承载令牌

Nelmio API文件区域和带symfony 4的承载令牌,symfony,swagger,symfony4,nelmioapidocbundle,Symfony,Swagger,Symfony4,Nelmioapidocbundle,我在symfony4中有API。我将NelmioApiDocBundle添加到我的项目中,但我的文档有问题。这是我的配置: 软件包\nelmio\u api\u doc.yaml nelmio_api_doc: documentation: # schemes: [http, https] info: title: Symfony JWT API description: Symfony JWT

我在symfony4中有API。我将NelmioApiDocBundle添加到我的项目中,但我的文档有问题。这是我的配置: 软件包\nelmio\u api\u 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,我如何使每个控制器成为一个单独的区域,而其余的都是默认的?i、 e.区域扬声器中的扬声器控制器、区域家庭中的家庭控制器等

我的下一个问题是,我有一个受承载令牌保护的API,当我在招摇过市中单击“授权”时,我将添加当前的jwt令牌,我想请求它,作为响应,我得到:

{
  "code": 401,
  "message": "JWT Token not found"
}
在《邮递员》中,我没有问题:

您需要用标签为控制器添加注释:

@SWG\Tag(name="Speaker")
见:

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

持票人


Wrt不记名代币问题-当您在Swagger UI中输入代币时,是否使用
bearer
作为前缀?@Helen是的,我添加了前缀BearerWorks good,但我对不记名代币有问题,我添加了good token,但当我请求时,我有错误“JWT token not found”@PawelC您是否使用
@Security(名称)为控制器添加了注释=“承载者”)
Hi:)您的回答解决了我的问题。我忘记了在开始时添加承载者,我只键入了令牌。您也可以在配置中更改或删除此前缀