@@ -40,7 +40,7 @@ class RequestParser
4040 public function __construct (Request $ request )
4141 {
4242 $ requestParserConfig = Config::get ('request_parser ' );
43- if (is_null ($ requestParserConfig ) || empty ($ requestParserConfig )) {
43+ if (is_null ($ requestParserConfig ) || empty ($ requestParserConfig )) {
4444 $ this ->modelNamespaces = ["App \\Models " ];
4545 } else {
4646 $ this ->modelNamespaces = $ requestParserConfig ['model_namespaces ' ];
@@ -92,7 +92,8 @@ private function getBaseModelName(Request $request): string
9292
9393 $ exploded = explode ("/ " , $ request ->getRequesturi ());
9494 $ lastURISegment = strtolower (end ($ exploded ));
95- $ camelizeURI = str_replace ('_ ' , '' , ucwords ($ lastURISegment , '_ ' ));
95+ $ lastURINoQuery = current (explode ("? " , $ lastURISegment , 2 ));
96+ $ camelizeURI = str_replace ('_ ' , '' , ucwords ($ lastURINoQuery , '_ ' ));
9697 $ modelCandidates [] = $ camelizeURI ;
9798
9899 $ modelName = $ this ->getModelFromNamespaces ($ camelizeURI , $ this ->modelNamespaces );
@@ -205,8 +206,12 @@ private function createModel(string $baseModelName)
205206 private function getControllerFromRoute ($ route )
206207 {
207208 if (is_array ($ route )) {
208- $ controllerWithMethod = current ($ route [1 ]);
209- $ splitedControllerMethod = explode ('@ ' , $ controllerWithMethod );
209+ $ maybeControllerWithMethod = current ($ route [1 ]);
210+ if ($ maybeControllerWithMethod instanceof \Closure) {
211+ return null ;
212+ }
213+
214+ $ splitedControllerMethod = explode ('@ ' , $ maybeControllerWithMethod );
210215 $ routingHandler = current ($ splitedControllerMethod );
211216 $ maybeController = new $ routingHandler ;
212217
0 commit comments