`param:.+` 中的 ":.+" 是啥意思(java)?
Posted
技术标签:
【中文标题】`param:.+` 中的 ":.+" 是啥意思(java)?【英文标题】:What does ":.+" in `param:.+` means (java)?`param:.+` 中的 ":.+" 是什么意思(java)? 【发布时间】:2018-05-29 10:17:49 【问题描述】:param:.+
处的:.+
在这组java 代码中是什么意思?我试过搜索但是我没有找到任何解释。请知道的人给我解释一下。非常感谢。
BatchFileController.java
@RequestMapping("/runbatchfileparam/param:.+")
public ResultFormat runbatchFile(@PathVariable("param") String fileName)
RunBatchFile rbf = new RunBatchFile();
return rbf.runBatch(fileName);
【问题讨论】:
【参考方案1】:冒号:
是变量名和正则表达式之间的分隔符。
表达式.+
表示任何字符中的至少一个。
【讨论】:
您好,请问您可以添加一些简单的含义示例吗? :) 您好,感谢您的回答,我想提供更多背景信息,以便您帮助我更好地理解这一点。我必须调用的 URL 是http://localhost:8080/runbatchfileparam/test123.bat
。如果我只是输入@RequestMapping("/runbatchfileparam/param
,我将无法运行 test123.bat 文件。我必须输入@RequestMapping("/runbatchfileparam/param:.+
为什么会这样?
@SushaNaidu 那是因为文件名中的.
,我猜服务器假设你想访问一个文件。但是通过正则表达式,服务器知道.
字符也是允许的
Spring 会截断普通路径变量中的文件扩展名,而不是正则表达式路径变量中的文件扩展名。还有更多信息here【参考方案2】:
如果您的路径变量中包含.
,则使用此选项。例如,如果您想将 mongo 中的内部字段作为路径变量传递以从数据库中获取。 (学生地址.id)。默认情况下,忽略第一个点之后的一切。告诉spring框架不要截断:.+
。
【讨论】:
以上是关于`param:.+` 中的 ":.+" 是啥意思(java)?的主要内容,如果未能解决你的问题,请参考以下文章
`param:.+` 中的 ":.+" 是啥意思(java)?
Wordpress wp rest api v2 错误 400 (Bad Request)" Object code: "rest_invalid_param", mes