我在Symfony 4中有API。我将NelmioApiDocBundle添加到我的项目中,但是我的文档有问题。这是我的配置:软件包\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
配置\路由.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,我如何使每个控制器成为一个单独的区域,其余的在默认?即SpeakerController在区域扬声器,HomeController在区域主页等。
我的下一个问题是,我有一个受不记名令牌保护的API,当我在swagger中单击Authorize时,我将添加当前的jwt令牌,我想请求它,在响应中我得到:
{
"code": 401,
"message": "JWT Token not found"
}
在 Postman 我没有问题:
3条答案
按热度按时间iezvtpos1#
必须发送带有前缀的apiKey值
无记名
h43kikqp2#
您将需要使用标记为控制器添加注解:
请访问:https://symfony.com/doc/current/bundles/NelmioApiDocBundle/index.html#using-the-bundle
qybjjes13#
我遇到了类似的问题。当点击**“试用”**时,令牌没有在请求中发送。
我的配置是好的,但我没有告诉Nelmio使用它在我的控制器。
正如@Marcello Kad所评论的,您可以使用以下配置:
在控制器中,在动作中,不要忘记: