如何在Jax-rs @Path中接受一个url编码?

时间:2013-07-17 13:08:59

标签: jax-rs

我试图让这条路线发挥作用:

http://localhost:8080/api/settings/http%3A%2F%2Fdbpedia.org%2Fresource%2FApplication_software

其中http://dbpedia.org/resource/Application_software是我想要获取设置的项目的ID。相反,我有这个工作:

http://localhost:8080/api/settings/http://dbpedia.org/resource/Application_software

如果我想在网址http://dbpedia.org/resource/Application_software之后传递其他参数,那么这显然不太好。

获取功能代码为:

@GET
@Path("/settings/{uri:^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]}")
public Response getUriSettings(
        @PathParam("uri") String uri, 
        @Context final HttpServletResponse response) {

    logger.debug("getting settings of " + uri);
...

我验证我在带有正则表达式的参数中有一个URL,但是我无法通过这个urlencoded ......

如何处理问题,以便在请求中编码该URL ID?

谢谢!

0 个答案:

没有答案
相关问题