From c10219849088344c517d4401e7a9dca57fda43ef Mon Sep 17 00:00:00 2001 From: Paul Merlin Date: Sat, 24 Jan 2015 14:09:13 +0100 Subject: [PATCH] Fix ReverseRoutes NPE if controller is interface and no parameters #239 --- .../runtime/routes/ReverseRoutesInstance.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/io.werval/io.werval.runtime/src/main/java/io/werval/runtime/routes/ReverseRoutesInstance.java b/io.werval/io.werval.runtime/src/main/java/io/werval/runtime/routes/ReverseRoutesInstance.java index bc50bf15..7c800676 100644 --- a/io.werval/io.werval.runtime/src/main/java/io/werval/runtime/routes/ReverseRoutesInstance.java +++ b/io.werval/io.werval.runtime/src/main/java/io/werval/runtime/routes/ReverseRoutesInstance.java @@ -210,10 +210,17 @@ public Object invoke( Object proxy, java.lang.reflect.Method controllerMethod, O throws Throwable { methodName = controllerMethod.getName(); - paramsTypes = Arrays.stream( args ) - .map( obj -> obj.getClass() ) - .collect( Collectors.toList() ) - .toArray( new Class[ 0 ] ); + if( args == null || args.length == 0 ) + { + paramsTypes = new Class[ 0 ]; + } + else + { + paramsTypes = Arrays.stream( args ) + .map( obj -> obj.getClass() ) + .collect( Collectors.toList() ) + .toArray( new Class[ 0 ] ); + } paramsValues = args; return null; }