Quiero generar una url como esta:

/foto?tags=tag1,tag2,tag3

rutas de archivo:

GET     /photo  controllers.Photos.list(tags:Array[String] ?= "")

Tengo este error en el juego de la consola:

No QueryString cuaderno encontrado para el tipo Array[String]

¿Cuál es la mejor manera de lograr esto ?

Gracias.

forma correcta de hacer una matriz en la consulta de parámetros(no importa el marco) de lo que yo entiendo es en realidad como la de esta foto?tags=tag1&tags=tag2&tags=tag3 …es un poco largo pero la especificación que permite la repetición como que

OriginalEl autor mcarrolle | 2012-07-02

4 Comentarios

  1. 9

    Creo que usted debe utilizar un común String y, a continuación, tomar cuidado acerca de cómo convertir a un Array en su controller

    rutas:

    GET     /photo  controllers.Photos.list(tags:String ?= "")
    

    en Java:

    public static Result list (String tags){
        String[] tagsArray = tags.split(",");
        //do something with tagsArray
        return ok();
    }
    
    Esa fue mi primera idea. Voy a utilizar esta solución.
    El camino descrito por @Ahmed Aswani a continuación es la manera «correcta» de hacer esto en HTTP.

    OriginalEl autor biesior

  2. 19

    juego se unen a la matriz/listas cuando los valores están en la consulta
    cadena o posterior de los datos con el mismo nombre.

    esto también parece funcionar:

    This route: http://localhost/controller/{id} 
    

    Esta url: http://localhost/controller/1?id=2&id=3

    Se unen a controller(int[] id) donde id -> {1, 2, 3}

    publicación id=2&id=3 también se unen a una matriz.

    de referencia:
    https://groups.google.com/forum/?fromgroups#!tema/play-marco/c5kB6wmcF8Q

    OriginalEl autor Ahmed Aswani

  3. 10

    El uso de una lista en lugar de un array deben trabajar.

    Si usted está usando Java, funciona de la siguiente manera:

    GET     /photo  controllers.Photos.list(tags: java.util.List[String])
    
    He buscado esto por varias horas! Resulta que no se puede simplemente utilizar la Lista[Cadena]. se va a utilizar scala tipo por defecto! La excepción siguiente aparecerá! tipo de desajuste; encontrado : Lista[String] (en la scala.de la colección.inmutable) se requiere: Lista[_] (en java.util) Utilizar el nombre completo del paquete es la manera correcta de ir

    OriginalEl autor lex82

  4. 3

    Por otro lado, si usted desea pasar un array de enteros Largos, esto funciona:

    GET /photo controllers.Photos.list(tags: java.util.List[java.lang.Long])

    con la función de controlador de tomar List<Long> tags como un argumento.

    OriginalEl autor Anne2504

Dejar respuesta

Please enter your comment!
Please enter your name here