初学spring的时候,原本想测一下mybatis,结果前端用ajax传数据的时候一直报500,后端也没有任何错误信息。人都傻了,你不给我错误信息我从哪下手啊??

 

前端传递的json字符串

{username:"123", password:"12323"}

 

Controller

@RequestMapping("/test")
@ResponseBody
public String test(@RequestBody UserInfo userInfo) {

    System.out.println(userInfo.getUsername());
    System.out.println(userInfo.getPassword());
    
    System.out.println("123");

    //new DaoTest().test();

    return "0";
}

以及UserInfo类

public class UserInfo {

    private String username;
    private String password;

    public UserInfo(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

 

经过多方尝试,偶然间冒出删掉UserInfo构造方法的想法,结果数据通道瞬间通畅,前端不报500,也能正确接到返回的0。

所以这一切的原因是我贪图方便,给UserInfo定义了一个构造方法,导致@RequestBody不能正常运行,而spring他又偏偏不报错,酿成了惨剧

 

至于为什么不能定义构造方法,我再去查查

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐