@@ -27,6 +27,8 @@ public class HttpArgumentsAnnotator {
2727
2828 private static final Logger LOGGER = LoggerFactory .getLogger (HttpArgumentsAnnotator .class );
2929
30+ private static final String KEY_ID = "Continuity.id" ;
31+
3032 private final HttpEndpoint endpoint ;
3133
3234 private final ApplicationAnnotation systemAnnotation ;
@@ -90,7 +92,15 @@ private List<HTTPArgument> createArguments(HttpParameterType type) {
9092 private HTTPArgument createArgument (HttpParameter param ) {
9193 HTTPArgument arg = new HTTPArgument ();
9294
93- arg .setName (param .getName ());
95+ if ((param .getParameterType () == HttpParameterType .BODY ) && (param .getName () == null )) {
96+ arg .setName ("body" );
97+ } else if (param .getName () == null ) {
98+ arg .setName ("UNDEFINED" );
99+ } else {
100+ arg .setName (param .getName ());
101+ }
102+
103+ arg .setProperty (KEY_ID , param .getId ());
94104
95105 return arg ;
96106 }
@@ -100,9 +110,7 @@ private void annotateArguments(List<HTTPArgument> arguments) {
100110 Parameter param = paramAnn .getAnnotatedParameter ().resolve (endpoint );
101111
102112 if (param instanceof HttpParameter ) {
103- String paramName = ((HttpParameter ) param ).getName ();
104-
105- arguments .stream ().filter (arg -> Objects .equals (arg .getName (), paramName )).forEach (arg -> annotateArg (arg , paramAnn ));
113+ arguments .stream ().filter (arg -> Objects .equals (arg .getProperty (KEY_ID ).getStringValue (), param .getId ())).forEach (arg -> annotateArg (arg , paramAnn ));
106114 } else {
107115 LOGGER .error ("Cannot annotate parameter {} of type {}!" , param .getId (), param .getClass ());
108116 }
0 commit comments