我尝试在Spring MVC中对我的控制器进行AJAX查询。
我的操作代码是:
@RequestMapping(value = "events/add", method = RequestMethod.POST)
public void addEvent(@RequestParam(value = "start_date") String start_date, @RequestParam(value = "end_date") String end_date, @RequestParam(value = "text") String text, @RequestParam(value = "userId") String userId){
//some code
}
我的Ajax查询是:
$.ajax({
type: "POST",
url:url,
contentType: "application/json",
data: {
start_date: scheduler.getEvent(id).start_date,
end_date: scheduler.getEvent(id).end_date,
text: scheduler.getEvent(id).text,
userId: userId
},
success:function(result){
//here some code
}
});
但我有个错误:
必需的字符串参数“start_date”不存在
为什么?正如我所知,我像(@requestparam(value=“start_date”)String start_date
一样呈现了它
public class EventData {
public String end_date;
public String start_date;
public String text;
public String userId;
//Getters and setters
}
$.ajax({
type: "POST",
url:url,
contentType: "application/json",
// data: eventData,
processData: false,
data: JSON.stringify({
"start_date": scheduler.getEventStartDate(id),
"end_date": scheduler.getEventEndDate(id),
"text": scheduler.getEventText(id),
"userId": "1"
}),
和控制器操作:
@RequestMapping(value = "events/add", method = RequestMethod.POST)
public void addEvent(@RequestBody EventData eventData){
}
JSON数据如下:
end_date: "2013-10-03T20:05:00.000Z"
start_date: "2013-10-03T20:00:00.000Z"
text: "gfsgsdgs"
userId: "1"
在服务器端,您希望您的请求参数作为查询字符串,但是在客户端,您发送一个json对象。要绑定json,您需要创建一个包含所有参数的类,并使用@RequestBody注释而不是@RequestParam。
@RequestMapping(value = "events/add", method = RequestMethod.POST)
public void addEvent(@RequestBody CommandBean commandBean){
//some code
}
这里有一个更详细的解释。
我想从我的Android应用程序向Spring Boot发送post请求。我使用okhttp以JSON格式发送HTTP post请求。代码如下: 每次我使用Android请求发送post请求时,我都会收到400个错误的请求参数“name”不存在,“path”:“/newcustomer”。但当我使用postman时,它可以工作。
我无法通过邮递员提出请求,我检查了所有内容,我的电子邮件在我的数据库中表示为varchar(255)。我使用后格雷姆。错误:必需的字符串参数“电子邮件”不存在。我使用响应并像这样设置它:每个接收值的字符串参数,但这没有帮助,因为程序报告我们没有发送任何东西。这与什么有关?请求是正确的,以及接受的参数是正确的。 请求看起来像什么: 实体用户 接受的控制器: 回购: 添加日志
我有一个无法更改的spring API,它的post listener如下所示: 现在,我有另一个Spring boot API,需要在构建时发送POST请求,POST请求如下所示: ObjectWrapper如下所示: 当执行上述post请求时,它会从我这边引发异常 org.springframework.web.client.HttpClientErrorException$BadReques
在从Tomcat 7.0.50升级到Tomcat 8.5.15期间,它停止识别我的一个方法的POST参数:我得到的不是正常的响应,而是以下消息 HTTP状态[400]-[错误请求] 类型状态报告 消息所需字符串参数'password'不存在 由于被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧或欺骗性的请求路由),服务器无法或将不处理请求。 Apache Tomcat/8.5.15
所以,我知道这可能是一个非常愚蠢的问题,我是一个初学者,试图学习Java基础知识,我有一个字符串数组的问题,我不太明白。当我尝试将单词输入到字符串数组中,并且单词的数量由用户设置(例如5)时,我总是可以少输入一个单词(例如4而不是5)。我的代码在下面。