java - 通配符不解析 DispatcherServlet 中的子目录
问题描述
我正在尝试创建一个restcontroller,它有一些规则来映射URI 和路径变量。使用我当前的配置,它似乎会完全匹配我的 url 模式,但是如果我添加任何类型的子目录,它就不会被映射。看我的配置
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/proxy/*</url-pattern>
</servlet-mapping>
@RestController
@RequestMapping("/proxy")
public class ProxyController {
@RequestMapping("")
@ResponseBody
public String test(HttpServletRequest request) throws URISyntaxException{
LOG.info("base");
return "done";
}
@RequestMapping("/testplace")
@ResponseBody
public String test2(HttpServletRequest request) throws URISyntaxException{
LOG.info("base");
return "done2";
}
所以点击 localhost:8080/app/proxy 会正确返回,但是 localhost:8080/app/proxy/testplace 给了我
“在名称为“SpringMVC”的 DispatcherServlet 中找不到带有 URI [/app/proxy/testplace] 的 HTTP 请求的映射”
即使在启动时我可以看到
“将“{[/proxy/testplace/]}”映射到公共 java.lang.String ProxyController(javax.servlet.http.HttpServletRequest) 抛出 java.net.URISyntaxException”
我在这里缺少设置或其他配置选项吗?
谢谢
解决方案
推荐阅读
- vba - 在 Mac 上执行签名的 VBA 代码而没有收到安全通知
- azure - Azure Blob 存储 - 前缀筛选器的性能
- c - 我怎样才能安全地解释aligned_alloc?
- javascript - 侧边导航菜单打开速度
- java - TO_DATE 中最后一个 .0 的 oracle 格式是什么('2020-04-01 00:00:00.0','YYYY-MM-DD HH24:MI:SS.TZR')?
- azure-ad-b2c - 如何实现客户端 API 访问受 Azure AD B2C 保护的资源
- html - 如何使我的标题以与视差滚动相同的方式运行
- mysql - 在 SQL SELECT 语句中组合 2 个 if 条件
- vue.js - Vue.js VS Code 模板语法高亮坏了?
- c++ - 从 CPP 文件调用 Paho MQTT