gpt4 book ai didi

java - 即使 Spring MVC Controller 中存在映射,也找不到映射

转载 作者:行者123 更新时间:2023-12-01 12:04:32 24 4
gpt4 key购买 nike

我有 Controller EnvironmentController如下

@Controller
@RequestMapping(value = "/dashboard/environments")
public class EnvironmentController {
/*
*Other methods
*/
@RequestMapping(value = "/${envId}/addKey/${region}", method = RequestMethod.POST, produces = "application/json")
public @ResponseBody String addKey(@PathVariable("envId") Long envId,
@PathVariable("region") String region, HttpSession session) {
if (session.getAttribute("loggedin") != null
&& (Boolean) session.getAttribute("loggedin") == true) {
DUser user = (DUser) session.getAttribute("user");
List<Role> roles = roleDao.getRoles(userDao.getUserByEmail(user
.getEmail()));
// other codes
} else {
session.invalidate();
return "{unauthorized}";
}
return "{}";
}
}

在我的 JSP 页面中,我使用 jQuery 发布数据,代码如下。

$("#create").on('click',function() {
alert($("#region").val());
$.ajax({
type : "POST",
url : "${pageContext.request.contextPath}/dashboard/environments/${envId}/addKey/"+$("#region").val(),
data : $("#region").val(),
success : success
});
});

Web 应用程序的 RootContext 为 myapp

我可以在网络浏览器控制台中看到数据被 POST 发送到 http://localhost:8080/myapp/dashboard/environments/2/addKey/us-east- 1..

还在日志中我可以看到以下内容信息:映射“{[/dashboard/environments/${envId}/addKey/${region}],methods=[POST],params=[],headers=[],consumes=[],products= [application/json],custom=[]}"到 public java.lang.String com.myapp.controller.EnvironmentController.addKey(java.lang.Long,java.lang.String,javax.servlet.http.HttpSession)

当我对网址进行POST时,它会收到警告

警告:在名称为“dispatcher”的 DispatcherServlet 中未找到带有 URI [/myapp/dashboard/environments/2/addKey/us-east-1] 的 HTTP 请求映射

我无法弄清楚为什么当我向其发送数据时没有调用 addKey 方法并且映射不正确。

谢谢。

最佳答案

您的请求映射错误。路径变量占位符不应包含 $。因此正确的形式是 @RequestMapping(value = "/{envId}/addKey/{region}", ...)

关于java - 即使 Spring MVC Controller 中存在映射,也找不到映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27722863/

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