java - 关于 jquery 发送请求参数以及 spring boot 获取请求参数的字段名统一问题

  在遇到这个问题前,真没想到过在 java web 中还能有这样的问题。-. -!!!

  问题是这样的:还是 jquery,我使用 jquery 发送序列化的 json 数据提交到指定的 rest controller api,但是会出现 500 no message available 错误并且控制台中看有 NullPointerException 错误。我看了浏览器上获取到的请求数据包,请求是正常发送出去的,也就是说可能不是 js 的问题。js 和 java 代码(样例)大概如下:

  js:

var name = /*...*/;
var email = /*...*/;

var postData = JSON.stringify({
    name: name,
    email: email,
});

$.ajax({/*...*/});

  controller.java:

/* controller class */
@PostMapping("/api/xxx")
public Map<String, String> xxx(@RequestBody MyBean foo) {
    ArrayList<String> names = foo.getNames();
    ArrayList<String> emails = foo.getEamils();
    // ...
}

  可能熟悉的人已经知道错在哪了。。。但我是第一次做 java web 。。。调试后发现,问题竟然在于字段名没有对上。。。

  我们应该将上面 js 或者 java 中的代码对上,js 代码中是发送 name 和 email,那 java 代码中应该要 getName() 和 getEmail(),或者 js 代码改成 names 和 emails。这个数据的解析过程真的是坑死了。。。

猜你喜欢

转载自www.cnblogs.com/darkchii/p/12590657.html
今日推荐