jax-rs: jersey @pathparam для получения предыдущего параметра одним методом

Как мне получить последний параметр пути в методе.

@Path("{profile}/articles")
 public getAllArticles(@PathParam("profile") String profile ){

}
@Path("{articleId}")
 public getArticle(@PathParam("articleid") long id ){

}

Я знаю, как получить последний параметр пути, например articleId, в методе getArticle. но я хочу получить предыдущий параметр пути в методе getArticle.

пример: если URL-адрес /{profile}/articles/{articleId}. Как мне получить значения как {profile}, так и {articleId} одним и тем же методом

PS: я знаю, что могу получить это, разбив URL-адрес, если я получу путь от UriInfo


person Irshad    schedule 11.07.2015    source источник


Ответы (1)


Вы можете получить несколько @PathParam, если указали в аннотации @Path.

@Path("/{profile}/articles/{articleId: \\d+}")
public Article readArticle(
    @PathParam("profile") final String profile,
    @PathParam("articleId") final long articleId) {

    // "SELECT a FROM Article a WHERE a.profile=:profile AND a.id=:aid"
}

Я хотел бы включить какие-либо дополнительные объяснения.

person Jin Kwon    schedule 17.09.2015
comment
Хотя этот фрагмент кода может решить вопрос, включение объяснения действительно помогает улучшить качество вашего поста. Помните, что вы отвечаете на вопрос для будущих читателей, и эти люди могут не знать причин вашего предложения кода. - person gunr2171; 17.09.2015