我试图让这条路线发挥作用:
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?
谢谢!