2012-07-06 8 views
7

sto cercando di definire un percorso con una lista opzionale come parametro di queryGiocare 2.0: elenco opzionale nella query

GET /places controllers.Application.query(filter: Option[Seq[Int]]) 

ma sempre questo errore

conf/routes - PlayException: Compilation error [`)' expected but `]' found] 

So giocare 2 maniglie Option s bene, e voglio che passi Seq alla mia dogana QueryStringBindable, come raggiungerlo?

risposta

7

Sembra che il parser di routing Play 2.0.2 non supporti i parametri del tipo di nidificazione. Ho trovato soluzione, ho definito alias per Seq[Int]:

type IntSeq = Seq[Int] 

e lo ha utilizzato invece di tipo originale:

GET /places controllers.Application.query(filter: Option[IntSeq]) 

Ora funziona come previsto.

+0

Dove posso definire questo tipo nel mio codice? Non riesco a inserirlo nel file delle rotte ... –

+1

@JacobLyles Puoi definirlo ovunque (tranne ovviamente per il file delle rotte), quindi importarlo specificando 'routesImport + =" your.namespace.IntSeq "' in la tua sezione delle impostazioni 'Build.scala'. – lambdas

+0

E 'ancora il caso nelle successive versioni di Play? –

Problemi correlati