2017-09-30 4 views
1

Ich habe diese Code-Methode in einer Java-Klasse mit JAX-RS:JAX-RS-Pfad Anmerkung URI-Vorlage

import javax.ws.rs.GET; 
import javax.ws.rs.HeaderParam; 
import javax.ws.rs.POST; 
import javax.ws.rs.PUT; 
import javax.ws.rs.Path; 
import javax.ws.rs.PathParam; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.Context; 
import javax.ws.rs.core.Response; 

@Path("/reports/{id: (zerotrips|notrips|tripsummary|rejectedtrips){1}/{0,1}}") 
@GET 
public Response get(@Context HttpServletRequest aRequest){ 
    .... 
} 

Könnte jemand einige Beispiele der URL durch den Ausdruck in der @Path Anmerkung abgebildet geben?

Antwort

1
/reports/zerotrips 
/reports/zerotrips/ 

ersetzen zerotrips mit einem der andere auf den zwischen den Klammern

(zerotrips|notrips|tripsummary|rejectedtrips){1} 

Dies sagt eine der Werte in der Klammer. | bedeutet "oder". Die {1} bedeutet "einmal".

/{0,1} 

bedeutet mit oder ohne Schrägstrich. {0,1} bedeutet null zu einmal.

Ein Muster gefolgt von {} gibt an, wie oft es erlaubt ist. Zum Beispiel a{3,5} bedeutet ein a drei vor fünf Mal. So würde die folgenden entsprechen: aaa, aaaa, aaaaa, aber aa würde nicht überein.