回答
@Path
符号支持正常字符串匹配路径或匹配模式的正则表达式。在你的情况
@Path("{image:image/.*}")
似乎与像图像的任何模式/.*,基本上转化为图像/任何东西只是匹配
路径PARAM {}图像的模式,这里的任何不指的是“任何东西”一词,但它的字面含义,即任何有效的文字。
更正: 参考@Sotirios Delimanolis答案的完整细节。感谢队友进行更正输入。
该符号被称为URI路径模板,并在documentation中进行了描述。
您可以通过在括号内声明{}
来定义一个新的模板变量。 JX-RS环境将从请求的URI中将相应的路径段绑定到声明的@PathParam
处理程序方法参数。
从文档
URI路径模板嵌入的URI语法 内的变量的URI。这些变量在运行时被替换,以便 资源根据替换的URI响应请求。 变量用大括号表示(
{
和}
)。例如,看一下 以下@Path
注释:@Path("https://stackoverflow.com/users/{username}")
在这样一个例子,一个用户被提示输入他或她的名字, 然后配置JAX-RS Web服务的请求作出回应这个URI路径模板响应这个 。例如,如果用户键入 用户名“伽利略”的Web服务响应以下网址:
http://example.com/users/Galileo
要获得用户名的值时,
@PathParam
注释可以 所用的请求方法的方法参数,如图所示在 下面的代码示例:@Path("https://stackoverflow.com/users/{username}") public class UserResource { @GET @Produces("text/xml") public String getUser(@PathParam("username") String userName) { ... } }
的文档然后继续指定符号的语法
默认情况下,URI变量必须与正则表达式 [^ /] +匹配”?“。该变量可以由变量名后指定一个不同 正则表达式来定制。例如,如果一个用户 名必须仅包括小写和大写字母数字 字符,在可变 覆盖默认的正则表达式定义:
@Path("users/{username: [a-zA-Z][a-zA-Z_0-9]}")
在本例中的用户名的变量将匹配 与一个大写或小写字母和零个或多个 字母数字字符和下划线字符开头唯一的用户名如果用户名 d OES与该模板不匹配,404(Not Found)响应将被发送到客户端 。
所以,你的例子
@Path("{image:image/.*}")
定义了一个名为image
一个URI模板变量包含段相匹配的正则表达式
image/.*
的JAX-RS的环境,因此将使用请求注释的方法与URI匹配
http://somehost.com/context-path/image/[anything]
据推测,您的方法将有一个参数
@Path("{image:image/.*}")
public Response handle(@PathParam("image") String path) { /* handling */ }
和path
将有"image/[anything]"
值。
- 1. 冒号在Python开头的注释
- 2. @Path注释:在dropwizard
- 3. 引用冒号作为shell注释?
- 4. 冒号在构造函数中的含义是什么?
- 5. 在Symfony(2.3)中,路由注释中的equals和冒号有什么区别吗?
- 6. 批转义冒号:
- 7. @embedded注释的含义是什么?
- 8. Scala类参数化中额外冒号的含义
- 9. SQL语法中冒号(':')的含义是什么?
- 10. GWT/GXT,JSON,带阵列的@Path注释
- 11. Fortran暗含用冒号做?
- 12. 在java中强制注释字段包含带注释的类
- 13. 如果添加冒号,vim脚本注释会加上
- 14. 在Makefile中转义文件名冒号
- 15. 在mysql中转义冒号LIKE查询
- 16. 冒号文件中的冒号
- 17. 在CDI 1.1中注释的bean发现模式的含义
- 18. “uint isWidget:1;”中的冒号(:)运算符的含义是什么?在Qt中?
- 19. '#noqa'在Python注释中的含义是什么?
- 20. 庆典SED中含有一个冒号
- 21. 如何在ggplot2注释中包含\ perp符号?
- 22. 注释在SQL查询中包含注释时性能如何?
- 23. 使用resteasy @Path注释时出现NoClassDefFoundError
- 24. <!-- -->在PHP中的注释括号
- 25. 如何在包含变量赋值的jdbc的mysql查询中转义冒号(:):
- 26. SQL中冒号冒号DELETE LIKE
- 27. 如何在HAML中冒出冒号
- 28. 请解释这在javascript中的冒号使用
- 29. 在“:$ {foo = value}”中对冒号操作符的解释
- 30. Python语句的含义用冒号和行尾
它只是使用正则表达式的一部分... –
@JunedAhsan它不是,至少不是'image:'前缀。 –