2017-09-28 5 views
0

Ich habe Service (Wildfly 10.1), die so aussieht:Wie validiert man redundante Abfrageparameter mit RestEasy?

@GET 
@Path("/retrieve") 
public Response getModels(@BeanParam ModelQueryParams queryParams) { 
    return getModels(); 
} 

Mit ModelQueryParams:

public class ModelQueryParams{ 

    @QueryParam("offset") 
    private Long offset; 

    @QueryParam("limit") 
    private Long limit; 
} 

kann Endpunkt So ist der Benutzer rufen wie:

/retrieve?offset=100&limit=4 

Aber wie kann ich Fall validieren, wenn Benutzer den falschen Parameter der Abfrage übergeben?

/retrieve?offset=100&limit=4&WRONG_PARAMETER=55 

Gibt es den Weg, es irgendwie zu validieren?

Antwort

1

Wenn Sie keine Feld- oder Methodenparameter mit @QueryParam annotiert haben, sind diese zusätzlichen Parameter nicht Ihr Problem, und es ist am besten, nur Parameter zu verarbeiten, die Sie für Ihre Ressource erwarten.

Wenn Sie immer noch Zugriff auf alle Abfrageparameter benötigen, injizieren dann UriInfo mit @Context und nennen es getQueryParameters() ist ein MultivaluedMap der Anfrage zu erhalten Parameter