Qui è il percorso corrispondente al mio metodo di controllo:Come aggiungere il parametro stringa di query a FakeRequest in Play Framework 2.3?
GET /my-resources controllers.MyResourceController.list(from: String ?= null, pageSize: Integer ?= null, sort: String ?= null)
Non ho alcun problema ad utilizzare from
, pageSize
e sort
parametri nella mia domanda ma non riesco a trovare il modo di fare con i filtri. Mi piacerebbe essere in grado di filtrare ogni campo dell'entità ma voglio trovare un modo per evitare di aggiungere ogni proprietà della mia entità nel percorso (es: codice, nome, descrizione ...)
Tipo di chiamata che dovrebbe funzionare:
https://myapi.com/my-resources?sort=name,description&name=MyName&description=Blablabla
Nel mio controller, applico filtri sulla mia query di database si naviga request().queryString()
. Quindi la mia domanda è come aggiungere i parametri di una stringa di query in FakeRequest
per testare il mio controller? Se hai un approccio migliore per passare i filtri nella richiesta, non esitare.
Grazie
Ha funzionato, grazie. Stavo usando il costruttore noarg di 'FakeRequest'. Ad ogni modo, sarebbe stato più pratico avere un setter ... Hai qualche suggerimento su una buona pratica per applicare i filtri su un'API REST con Play? – c4k
Lo stiamo facendo in modo standard https://www.playframework.com/documentation/2.3.6/ScalaHttpFilters :) – mavarazy
In realtà intendevo filtri per filtrare un'entità come name = Foo, inizio> 29/12/2014 ecc. ;) – c4k