gpt4 book ai didi

java - 错误 "400 Bad Request"客户端发送的请求语法不正确

转载 作者:太空宇宙 更新时间:2023-11-04 13:06:01 26 4
gpt4 key购买 nike

我是 jQuery 新手,正在尝试使用 Ajax 调用 Web 服务。这看起来相当简单的代码,但不知何故无法理解其失败的原因。我尝试了所有可能的方法(我能想到的),但不知何故没有让它发挥作用。

Jsp代码:

function tmpData() {
var dataObject = JSON.stringify({
'empfname': "First Name",
'emplname': "Last Name"
});

alert("dataObject=" + dataObject);

$.ajax({
url:"http://localhost:8080/OnlineStore/kmsg/grocery/tmpinfo",
type:"POST",
contentType: 'application/json',
data: dataObject,
done: setData,
fail: displayError()
});
}; // end of function

Controller :

@RestController
@RequestMapping("/kmsg/grocery")
public class TmpSvcImpl implements TmpSvcInt {
@Override
@RequestMapping(value = "/tmpinfo", method = RequestMethod.POST, headers = "Accept=application/json")
public @ResponseBody Map<String, Object> setData(@RequestBody final Emp employee1) throws Exception {

System.out.println("employee1=" + employee1);
String fname = employee1.getEmpfname();
String lname = employee1.getEmplname();
System.out.println("fn=" + fname ) ;
System.out.println("ln=" + lname ) ;

return null;
}
}

模型类:

public class Emp implements Serializable {

private static final long serialVersionUID = 1L;
String empfname;
String emplname;

public String getEmpfname() {
return empfname;
}
public void setEmpfname(String empfname) {
this.empfname = empfname;
}
public String getEmplname() {
return emplname;
}
public void setEmplname(String emplname) {
this.emplname = emplname;
}

public Emp(String fn, String ln){
this.empfname = fn ;
this.emplname = ln ;
}

@Override
public String toString() {
return "Emp {empfname=" + empfname + ", emplname=" + emplname + "}" ;
}
}

最佳答案

向您的 Emp 类添加默认构造函数,以便 Jackson 能够创建它的实例,如下所示:

public class Emp implements Serializable {

private static final long serialVersionUID = 1L;
public String empfname;
public String emplname;

public String getEmpfname() {
return empfname;
}

public void setEmpfname(String empfname) {
this.empfname = empfname;
}

public String getEmplname() {
return emplname;
}

public void setEmplname(String emplname) {
this.emplname = emplname;
}

public Emp(String fn, String ln) {
this.empfname = fn;
this.emplname = ln;
}

/**
* default constructor
*/
public Emp() {

}

@Override
public String toString() {
return "Emp {empfname=" + empfname + ", emplname=" + emplname + "}";
}
}

关于java - 错误 "400 Bad Request"客户端发送的请求语法不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34428827/

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