Nelmio API делает c область и токен на предъявителя с symfony 4 - PullRequest
1 голос
/ 19 января 2020

У меня есть API в Symfony 4. Я добавил NelmioApiDocBundle в свой проект, но у меня проблемы с документами. Это моя конфигурация: packages \ nelmio_api_do c .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 \ rout.yaml

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

Это мой экранный пользовательский интерфейс: enter image description here

У меня есть контроллер: SpeakerController, HomeController. Как сделать каждый контроллер отдельной областью, а остальные по умолчанию? т. е. SpeakerController в области Speaker, HomeController в области Home et c ..

Моя следующая проблема заключается в том, что у меня есть API, защищенный токеном-носителем, когда я нажимаю Авторизировать в сваггере, я добавляю текущий JWT токен, и я хочу запросить его, в ответ я получаю:

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

У почтальона у меня нет проблем: enter image description here

Ответы [ 2 ]

1 голос
/ 09 апреля 2020

Вы должны отправить значение apiKey с префиксом

Носитель

enter image description here

0 голосов
/ 20 января 2020

Вам нужно будет пометить ваши контроллеры тегами:

@SWG\Tag(name="Speaker")

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

...