Closed hanchikang closed 3 years ago
/** * @ApiServer(name="admin") * @ApiController(prefix="admin/passport", tag="授权登录", server="admin") * @Middleware(CorsMiddleware::class) */
测试,路由是生效的,但没有生成该控制器的API文档
看了一下代码,应该是只是生成了 http 的文档: $router = $container->get(DispatcherFactory::class)->getRouter('http');
$router = $container->get(DispatcherFactory::class)->getRouter('http');
改成这样就可以了,希望修复一下:
/*$router = $container->get(DispatcherFactory::class)->getRouter('http'); $data = $router->getData();*/ $servers = $config->get('server.servers'); if (count($servers) > 1 && !Str::contains($output, '{server}')) { $logger->warning('You have multiple serve, but your apidog.output_file not contains {server} var'); } foreach ($servers as $server) { $router = $container->get(DispatcherFactory::class)->getRouter($server['name']); $data = $router->getData(); $swagger = new SwaggerJson($server['name']); $ignore = $config->get('apidog.ignore', function ($controller, $action) { return false; }); array_walk_recursive($data, function ($item) use ($swagger, $ignore) { if ($item instanceof Handler && !($item->callback instanceof \Closure)) { [$controller, $action] = $this->prepareHandler($item->callback); (!$ignore($controller, $action)) && $swagger->addPath($controller, $action); } }); $swagger->save(); }
已经在 PR#64 中修复, 将在 1.5.14 版本中发布.
1.5.14
测试,路由是生效的,但没有生成该控制器的API文档
看了一下代码,应该是只是生成了 http 的文档:
$router = $container->get(DispatcherFactory::class)->getRouter('http');
改成这样就可以了,希望修复一下: