Swagger не работает в интеграции с ZendFramework2

Не могли бы вы предложить, почему Swagger не работает для меня в интеграции с ZendFramework2. Я следовал инструкциям Вот.

composer.json:

{
"require": {
"php": ">=5.3.3",
"zendframework/zendframework": "2.3.5",
"outeredge/swagger-module": "dev-master"},
}

конфиг / application.config.php:

<?php
return array(
'modules' => array(
'MyApp',
'SwaggerModule',
),
'module_listener_options' => array(
'module_paths' => array(
'./module',
'./vendor',
),
),
);
?>

/config/autoload/swagger.global.php:

return array(
'swagger' => array(
'paths' => array(
__DIR__ . '/../../module/Morpho/src/Morpho/Controller',
),
'resource_options' => array(
'output' => 'array',
'json_pretty_print' => true, // for outputtype 'json'
'defaultBasePath' => null,
'defaultApiVersion' => null,
'defaultSwaggerVersion' => '1.2',
),
)
);

После того, как я разверну приложение под Apache, при вызове Http: // MyApp / государственный / API / документы, Я получил:

{"errors":[{"message":"An error occurred during execution;
please try again later.","error":"error-exception","exception":
"class":"Zend\ServiceManager\Exception\ServiceNotCreatedException",
"file":"\vendor\zendframework\zendframework\library\Zend\ServiceManager\ServiceManager.php",
"line":930,
"message":"An exception was raised while creating "Swagger\Swagger";
no instance returned"

Трассировки стека:

 0 \vendor\zendframework\zendframework\library\Zend\ServiceManager\ServiceManager.php(1057): Zend\ServiceManager\ServiceManager->createServiceViaCallback(Object(Closure), 'swaggerswagger', 'Swagger\Swagger')
1 \vendor\zendframework\zendframework\library\Zend\ServiceManager\ServiceManager.php(633): Zend\ServiceManager\ServiceManager->createFromFactory('swaggerswagger', 'Swagger\Swagger')
2 \vendor\zendframework\zendframework\library\Zend\ServiceManager\ServiceManager.php(593): Zend\ServiceManager\ServiceManager->doCreate('Swagger\Swagger', 'swaggerswagger')
3 \vendor\zendframework\zendframework\library\Zend\ServiceManager\ServiceManager.php(525): Zend\ServiceManager\ServiceManager->create(Array)
4 \vendor\outeredge\swagger-module\src\SwaggerModule\Controller\DocumentationController.php(39): Zend\ServiceManager\ServiceManager->get('Swagger\Swagger')
5 \vendor\zendframework\zendframework\library\Zend\Mvc\Controller\AbstractActionController.php(83): SwaggerModule\Controller\DocumentationController->displayAction()
6 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent))
7 \vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
8 \vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
9 \vendor\zendframework\zendframework\library\Zend\Mvc\Controller\AbstractController.php(116): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
10 \vendor\zendframework\zendframework\library\Zend\Mvc\DispatchListener.php(113): Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Http\PhpEnvironment\Request), Object(Zend\Http\PhpEnvironment\Response))
11 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))
12 \vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
13 \vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
14 \vendor\zendframework\zendframework\library\Zend\Mvc\Application.php(313): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
15 \public\index.php(10): Zend\Mvc\Application->run()
16 {main}"}}]}

2

Решение

swagger-module кажется не активным. Пожалуйста, попробуй https://github.com/zircote/swagger-php вместо.

0

Другие решения

Я получал тот же тип ошибки и смог исправить проблему следующим образом.

1) Создайте swagger.local.php файл в \ Config \ Автозагрузка
(в разработке системы swagger.development.php)

2) swagger.local.php иметь следующее содержание.

return array(
'swagger' => array(
'paths' => array(
__DIR__ . '/../../module/Api/src/Api/Controller',
),
'resource_options' => array(
'output' => 'array',
'json_pretty_print' => true,
'defaultBasePath' => '/',
'defaultApiVersion' => null,
'defaultSwaggerVersion' => '1.2',
),
)
);

Спасибо

http://www.web-technology-experts-notes.in

0

По вопросам рекламы [email protected]