此代码中有问题。
@RequestBody String id, @RequestBody String oldPass,
@RequestBody String newPass
您不能@RequestBody
在同一方法中使用多个对象,因为它只能绑定到一个对象(主体只能使用一次)。
解决该问题的方法是创建一个将捕获所有相关数据的对象,然后创建您在参数中具有的对象。
一种方法是将它们全部嵌入到单个JSON中,如下所示
{id:"123", oldPass:"abc", newPass:"xyz"}
并将控制器作为单个参数,如下所示
public Message changePassword(@RequestBody String jsonStr){
JSONObject jObject = new JSONObject(jsonStr);
.......
}
创建自己的自定义实现 ArgumentResolver