2012-04-30 1 views
1

J'utilise Akka et Play Mini (qui est juste une couche REST au-dessus de Netty). Je l'utilise depuis Java. La syntaxe est simple, couvert dans leur readme sur GitHub:Comment prendre en charge les paramètres avec REST Play Mini?

@URL("/coco/*/name/*") 

Cela fonctionne très bien, mais signifie que toutes les URL devront être des chemins que longues. J'ai trouvé this thread qui a certaines personnes affirmant que les paramètres sont verboten et d'autres disant qu'ils ne sont absolument pas. Je souhaite que les docs de jeu viennent d'indiquer leur position, mais hélas. Je cherche la capacité de soutenir une URL dans le format de:

/search/query=dogs 

Peut-être que les documents réguliers de jeu résoudre ce problème. Continuera à chercher ..

+0

Qu'en est-ce pattern..http: //stackoverflow.com/search q = sw –

+0

Ouais, ce format est le même que le mien, mais juste un nom de paramètre différent? – Rob

Répondre

2

Peut-être que cela aidera les autres.

@URL("/hello/*\\?*") 
public static Result show() { 
    Map<String, String[]> queryString = request().queryString(); 

    Map<String, String> data = new HashMap<String, String>(); 
    for (String key : queryString.keySet()) { 
     for (String value : queryString.get(key)) { 
      data.put(key, value); 
     } 
    } 
    response().setContentType("text/html"); 
    return ok(data.toString()); 
} 

Si vous testez avec: curl "http://localhost:9000/hello/test?param1=0&param2=yes"

Le résultat sera:

test{param1=0, param2=yes} 
Questions connexes