1

我试图让这条路线工作:

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

如果我想在 url 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 进行编码?

谢谢!

4

0 回答 0