Jelajahi Sumber

Add support for lumen routes

DaazKu 6 tahun lalu
induk
melakukan
ed03866007
2 mengubah file dengan 25 tambahan dan 0 penghapusan
  1. 21 0
      src/Tools/LumenRouteAdapter.php
  2. 4 0
      src/Tools/RouteMatcher.php

+ 21 - 0
src/Tools/LumenRouteAdapter.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace Mpociot\ApiDoc\Tools;
+
+use Illuminate\Routing\Route;
+
+/**
+ * Class LumenRouteAdapter.
+ */
+class LumenRouteAdapter extends Route
+{
+    /**
+     * LumenRouteAdapter constructor.
+     *
+     * @param array $lumenRoute
+     */
+    public function __construct(array $lumenRoute)
+    {
+        parent::__construct($lumenRoute['method'], $lumenRoute['uri'], $lumenRoute['action']);
+    }
+}

+ 4 - 0
src/Tools/RouteMatcher.php

@@ -28,6 +28,10 @@ class RouteMatcher
             $allRoutes = $this->getAllRoutes($usingDingoRouter, $routeRule['match']['versions'] ?? []);
 
             foreach ($allRoutes as $route) {
+                if (is_array($route)) {
+                    $route = new LumenRouteAdapter($route);
+                }
+
                 /** @var Route $route */
                 if (in_array($route->getName(), $excludes)) {
                     continue;