Нераспознанные параметры песочницы, чванство под nelmio_api_doc. Доступные варианты: области, документация, модели

Я пытаюсь реализовать Rest API для приложения, которое я разрабатываю с помощью Symfony 4. После установки таких пакетов, как: nelmio/api-doc-bundle (мой composer.json вставлен ниже), я получение следующей ошибки:

InvalidConfigurationException Неопознанные параметры «песочница, чванство» в разделе «nelmio_api_doc». Доступные варианты: «области», «документация», «модели»..

Я пытаюсь понять, что происходит уже несколько дней. Пожалуйста, нужна помощь.

Это мой composer.json:

{
  "type": "project",
  "license": "proprietary",
  "require": {
    "php": "^7.1.3",
    "ext-ctype": "*",
    "ext-iconv": "*",
    "cocur/slugify": "^3.2",
    "dompdf/dompdf": "^0.8.3",
    "friendsofsymfony/oauth-server-bundle": "^1.6",
    "friendsofsymfony/rest-bundle": "^2.5",
    "friendsofsymfony/user-bundle": "~2.0",
    "inacho/php-credit-card-validator": "^1.0",
    "jms/serializer-bundle": "^3.3",
    "nelmio/api-doc-bundle": "^3.4",
    "sensio/framework-extra-bundle": "^5.3",
    "symfony/apache-pack": "^1.0",
    "symfony/asset": "4.2.*",
    "symfony/console": "4.2.*",
    "symfony/dotenv": "4.2.*",
    "symfony/expression-language": "4.2.*",
    "symfony/filesystem": "4.2.*",
    "symfony/finder": "4.2.*",
    "symfony/flex": "^1.1",
    "symfony/form": "4.2.*",
    "symfony/framework-bundle": "4.2.*",
    "symfony/monolog-bundle": "^3.1",
    "symfony/orm-pack": "*",
    "symfony/process": "4.2.*",
    "symfony/security-bundle": "4.2.*",
    "symfony/serializer-pack": "*",
    "symfony/swiftmailer-bundle": "^3.2",
    "symfony/translation": "4.2.*",
    "symfony/twig-bundle": "4.2.*",
    "symfony/validator": "4.2.*",
    "symfony/web-link": "4.2.*",
    "symfony/yaml": "4.2.*",
    "twig/extensions": "^1.5",
    "zircote/swagger-php": "*"
  },
  "require-dev": {
    "symfony/debug-pack": "*",
    "symfony/maker-bundle": "^1.0",
    "symfony/profiler-pack": "*",
    "symfony/test-pack": "*",
    "symfony/web-server-bundle": "4.2.*"
  },
  "config": {
    "preferred-install": {
      "*": "dist"
    },
    "sort-packages": true
  },
  "autoload": {
    "psr-4": {
      "App\\": "src/"
    }
  },
  "autoload-dev": {
    "psr-4": {
      "App\\Tests\\": "tests/"
    }
  },
  "replace": {
    "paragonie/random_compat": "2.*",
    "symfony/polyfill-ctype": "*",
    "symfony/polyfill-iconv": "*",
    "symfony/polyfill-php71": "*",
    "symfony/polyfill-php70": "*",
    "symfony/polyfill-php56": "*"
  },
  "scripts": {
    "auto-scripts": {
      "cache:clear": "symfony-cmd",
      "assets:install %PUBLIC_DIR%": "symfony-cmd"
    },
    "post-install-cmd": [
      "@auto-scripts"
    ],
    "post-update-cmd": [
      "@auto-scripts"
    ]
  },
  "conflict": {
    "symfony/symfony": "*"
  },
  "extra": {
    "symfony": {
      "allow-contrib": false,
      "require": "4.2.*"
    }
  }
}

А это мой nelmio_api_doc.yaml

nelmio_api_doc:
  sandbox:
    enabled: true
    authentication:
      delivery: http
      type: bearer
    body_format:
      formats: [json, form] # array of enabled body formats,
      default_format: json
  swagger:
    api_base_path: /api
    swagger_version: "1.2"
    api_version: "0.1"
    info:
      title: API
      description: "REST API"

Я пробовал: обновление композитора и установка композитора.


person Yvon Fanfe    schedule 05.06.2019    source источник
comment
У вас есть nelmio_api_doc: sandbox: ... и nelmio_api_doc: swagger: .... В сообщении четко сказано, что эти (sandbox и swagger) не поддерживаются. Вы читали документацию по установке Symfony? Примеры там не показывают, что у вас есть...   -  person rkeet    schedule 05.06.2019


Ответы (1)


Вы должны обновить nelmio/api-doc-bundle с 2.x до 3.x.

Ваша конфигурация кажется хорошей для версии 2.x. Обязательно следуйте этому руководству по переходу на 3.x. .

Для аналогичной проблемы, с которой столкнулся, я заменил sandbox на documentation.

Точно так же, следуя инструкции, можно заменить и остальные.

Скорее всего, что-то похожее на следующее будет работать.

nelmio_api_doc:
  documentation: #<-- notice this change.
    enabled: true
    authentication:
      delivery: http
      type: bearer
    body_format:
      formats: [json, form] # array of enabled body formats,
      default_format: json

    api_base_path: /api
    swagger_version: "1.2"
    info:
      title: API
      description: "REST API"
      version: "0.1" # <-- notice this has been moved.

person Jamshad Ahmad    schedule 28.05.2020