Nelmio API文件区域和带symfony 4的承载令牌
我在symfony4中有API。我将NelmioApiDocBundle添加到我的项目中,但我的文档有问题。这是我的配置: 软件包\nelmio\u api\u doc.yamlNelmio 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
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:)您的回答解决了我的问题。我忘记了在开始时添加承载者,我只键入了令牌。您也可以在配置中更改或删除此前缀