【发布时间】:2015-12-09 08:11:57
【问题描述】:
http://localhost:8181/RESTfulExample/entityid/https://www.youtube.com
@GET
@Path("/entityid/{entityid : [a-zA-Z][a-zA-Z_0-9]}")
public Response getUserByentityid(@PathParam("entityid") String entityid) {
return Response.status(200)
.entity("getUserByentityid is called, username : " + entityid)
.build();
}
如何修改正则表达式以接受其中的url?或任何其他替代解决方案来获取作为 URL 的 entityid?
【问题讨论】:
-
这不是一个有效的 URL。
-
如果我们尝试传递 entityid = youtube.com,这是一个有效的 url。
-
:和/不是路径段中的有效字符。即使您允许:,路径仍将被解析为段:RESTfulExample、entityid、https:、、 www.youtube.com -
是的,你是对的,这只是我试图解决的问题。如果我们通过youtube.com,https: 将被接受为一个值,因为在此 '/' 之后的任何内容都将被视为另一个值。
-
构建该 URL 的人没有对路径段进行编码。有关正确编码的示例,请参阅我的答案。
标签: java spring rest jersey jax-rs