gpt4 book ai didi

java - Spring MVC POST 方法

转载 作者:太空宇宙 更新时间:2023-11-04 14:45:22 24 4
gpt4 key购买 nike

这是我的 Controller 类片段

@RequestMapping(value = "/createAgent", method = RequestMethod.POST)
@ResponseBody
public String createAgent(@RequestBody String json) {
System.out.println(json);
}

如何将 JSON 对象传递给此方法。我可以通过 url 以任何方式传递它吗?如果我通过这条路(虽然这看起来很错误),

http://localhost:8080/SurveyApp3/createAgent/{"a_id": 8746574632, "pwd": "abcd", "pim_id": 3, "m_id":9738247882} 

我收到一条错误消息

WARNING: No mapping found for HTTP request with URI [/SurveyApp3/createAgent/%7B%22a_id%22:%208746574632,%20%22pwd%22:%20%22abcd%22,%20%22pim_id%22:%203,%20%22m_id%22:9738247882%7D] in DispatcherServlet with name 'spring'

我还尝试使用来自欢迎文件index.jsp的ajax请求

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>


<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" >

function sendAjax() {

$.ajax({
url: "/createAgent",
type: 'POST',
dataType: 'json',
data: "{\"a_id\":7645534265,\"pwd\":\"abcd\", \"pim_id\":3, \"m_id\":9738247882}",
contentType: 'application/json',
success: function(data) {
alert(data.a_id + " " + data.pwd);
},
error:function(data,status,er) {
alert("error: "+data+" status: "+status+" er:"+er);
}
});
}
</script>
</body>
</html>

当我访问这个网址时,

http://localhost:8080/SurveyApp3/createAgent

我收到一条错误消息,指出不支持 GET 方法。我对这个主题还是陌生的,我无法弄清楚如何将 JSON 对象作为参数发送到 post 方法。我哪里出错了?

谢谢!

最佳答案

在 Spring Controller 中,每个方法都必须返回一个 View 名称。在您缺少的代码中,这就是您得到的原因警告:未找到带有 URI 的 HTTP 请求的映射错误,添加
将“viewname”返回到您的代码中。
另外,对对象使用@ModelAttribute ---
@PathVariable --- 对于字符串
@RequestParam --- 用于字符串数组。

希望这会起作用......

关于java - Spring MVC POST 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24447468/

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