我正试图实现我从Github获得的这个春季应用程序。我还在学习过程中,所以这可能是一个基本的问题。我需要在这个更新用户方法的邮递员主体中传递哪些参数?我写了{"id":1,"password"; "1234"}在邮差正文,但它显示我400坏语法错误。
public void updateUser(int id, String parameter, String update)
{
Session session=sessionFactory.openSession();
Transaction tx=session.beginTransaction();
//System.out.print(mail);
List<User_org> userList = userList();
for(User_org i: userList)
{
User_org u= i;
if(u.getId()==id)
{
if(parameter.equalsIgnoreCase("mail"))
{
u.setEmail(update);
session.update(u);
break;
}
if(parameter.equalsIgnoreCase("phone_no"))
{
u.setPhone_num(Integer.parseInt(update));
session.update(u);
break;
}
if(parameter.equalsIgnoreCase("password"))
{
u.setPassword(update);
session.update(u);
break;
}
}
}
session.flush();
tx.commit();
//return id;
}
在控制器
public void updateUser(@RequestBody int id,String parameter, String updateToBe)
{
service.updateUser(id,parameter, updateToBe);
}
创建包含所有字段的实体或DTO如:
class User{
int id,
String parameter,
String updateToBe
// getters and setters
}
public void updateUser(@RequestBody User user)
{
service.updateUser(user);
}
From Postman send JSON object