Ich habe diese REST-Ressource:Wie kann ich Zeichenfolge Param mit Schrägstrich übergeben?
@GET
@Path("{business},{year},{sample}")
@Produces(MediaType.APPLICATION_JSON)
public Response getSample(
@PathParam("business") String business,
@PathParam("year") String year,
@PathParam("sample") String sampleId {
Sample sample = dao.findSample(business, year, sampleId);
return Response.ok(sample).build();
}
sample
param Schrägstrich enthält: 6576/M982
, zum Beispiel.
Ich rufe es mit http://ip:port/samples/2000,2006,6576/M982
aber funktioniert natürlich nicht.
Ich habe auch versucht mit http://ip:port/samples/2000,2006,6576%2FM982
, Codierung der Schrägstrich als %2F
, funktioniert aber auch nicht, es erreicht nicht den Endpunkt.
EDIT
I Retrofit bin mit dem Endpunkt zu nennen und ich dies tun:
@GET("/samples/{business},{year},{sampleId}")
Observable<Sample> getSampleById(
@Path("business") String business,
@Path("year") String year,
@Path(value = "sampleId", encoded = true) String sampleId);
Mit encoded = true
, aber immer noch nicht funktioniert.
Sie müssen es "URLEncode". – EJP
Haben Sie "@GET ("/samples/{business}% 2C {Jahr}% 2C {BeispielId} ") versucht? –