我试图让这条路线工作:
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 进行编码?
谢谢!