2016-12-12 54 views
0

從路徑(「/ api/webservice/cursos/sugeridos/java-para-desenvolvimento-web」)我需要獲取(「/ api/webservice/cursos /」)。如何從@Path獲取路徑的一部分?

我有類:

@Path("/webservice/cursos") 
public class Resource { 

@GET 
    @Path("/sugeridos/{uri: [\\w+\\-]*}") 
    ......... 
    public Response getCourseByURI(@PathParam("uri") String uri, @Context UriInfo uriInfo) { 
       String baseUrl = uriInfo.getAbsolutePath().getPath(); 
    } 
} 

uriInfo.getAbsolutePath().getPath()回報:

「/ API/Web服務/ cursos/sugeridos/JAVA - 對desenvolvimento-網」

我只需要:

「/ API/Web服務/ cursos /」

回答

0

你可以做這樣的事情:

String pathInfo = request.getPathInfo(); // //api/webservice/cursos/sugeridos/java-para-desenvolvimento-web 
String[] parts = pathInfo.split("/"); 
String part0 = parts[0]; // api 
String part1 = parts[1]; // webservice 
String part2 = parts[2]; // cursos 

獲取在HttpServletRequest請求。

0

您可以使用Java的7 Path類:

Path path = Paths.get("/api/webservice/cursos/sugeridos/java-para-desenvolvimento-web"); 
System.out.println(path.subpath(0,3)); // api/webservice/cursos