2016-07-07 5 views
0

Ich habe eine Ressource, die definiert:Jersey codierte Zeichenfolge als @pathParam Ressource nicht bestanden

@Path("/customer/{customerId}") 
@Consumes(MediaType.APPLICATION_JSON) 
public Response getLocationsByAccount(@QueryParam("page") Integer page, 
             @QueryParam("per_page") Integer pageSize,,@PathParam(value = "customerId") String customerId); 

Wenn ich zu tun versucht:

curl 'http://localhost:8080/path/customer/1?page=1%26per_page=100' 

alles funktioniert.

Nun möchte Ich mag die customerID als codierten Wert erhalten, was bedeutet:

curl 'http://localhost:8080/path/customer/jgLiFuOi%2F0dTMbssRcfNvQ%3D%3D?page=1&per_page=22' 

i Ressource bin immer nicht gefunden.

Was mache ich falsch. Diese

Antwort

0

funktioniert für mich auf Glassfish:

@Path("path") 
public class Resource { 
    @GET 
    @Path("/customer/{customerId}") 
    public String getLocationsByAccount(@QueryParam("page") Integer page, 
     @QueryParam("per_page") Integer pageSize, 
     @PathParam(value = "customerId") String customerId) { 
    return customerId; 
    } 
} 

Anfrage:

curl --noproxy localhost, "http://localhost:8080/path/customer/jgLiFuOi%2F0dTMbssRcfNvQ%3D%3D?page=1&per_page=22" 

Antwort:

jgLiFuOi/0dTMbssRcfNvQ== 

So ist es nicht so aussehen wie Sie falsch etwas zu tun sind.