gpt4 book ai didi

java - Spring MVC,如果路径变量中存在正斜杠符号,模式将无法正常工作

转载 作者:行者123 更新时间:2023-12-01 12:33:40 25 4
gpt4 key购买 nike

我的 Controller 中有这样的方法:

@RequestMapping("/action/{actionType:root/testaction}")
public String test( @PathVariable String actionType) {
}

当我确实通过 url localhost/action/root/testaction 获取请求时,不会调用此方法。但是当我改变方法时:

@RequestMapping("/action/root/{actionType:testaction}")
public String test( @PathVariable String actionType) {
}

并执行相同的获取请求 - 方法工作正常。问题是我想将“/root”部分包含到 PathVariable 字符串中。

您能澄清一下我的代码中可能存在什么问题吗?

最佳答案

问题是路径变量可能不包含“/”字符,因为这会使解析变得更加困难。

Spring @RequestMapping 功能部分实现 RFC 6570: URI Template 。该标准不允许“/”characters in variable names :

 variable-list =  varspec *( "," varspec )
varspec = varname [ modifier-level4 ]
varname = varchar *( ["."] varchar )
varchar = ALPHA / DIGIT / "_" / pct-encoded

modifier-level4 = prefix / explode
prefix = ":" max-length
max-length = %x31-39 0*3DIGIT ; positive integer < 10000
explode = "*"

关于java - Spring MVC,如果路径变量中存在正斜杠符号,模式将无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25744172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com