Vorrei scrivere un metodo wrapper per un servizio web, il servizio accetta 2 parametri obbligatori e 3 facoltativi.Metodo Groovy con parametri opzionali
Per avere un esempio più breve, vorrei ottenere il seguente codice di lavoro
def myMethod(pParm1='1', pParm2='2') {
println "${pParm1}${pParm2}"
}
myMethod();
myMethod('a')
myMethod(pParm2:'a') // doesn't work as expected
myMethod('b','c')
L'output è:
12
a2
[pParm2:a]2
a2
bc
Quello che vorrei raggiungere è quello di dare un parametro e ottenere 1a
come risultato. È possibile (nel modo più pigro)?
Grazie, sembra una buona soluzione. Farò un tentativo e confrontarlo con lo sforzo quando utilizzo i valori NULL come default per i parametri opzionali. Venendo dal mondo java sono abbastanza abituato a questo ... – Chris
Ho ragione, la firma del myMethod dovrebbe essere 'def myMethod (String mandatory1, String mandatory2, Map map = [:])'? –
Altrimenti, a parte, come nella risposta –