我有一个插入对象的方法。但是这个对象与另一个对象映射为一对多。Spring Web MVC Post请求多个对象
@Entity
public class FutureMessage {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
private String message;
@ManyToOne
private User user;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
此FutureMessage对象已映射到User对象,但发布请求存在问题。
{
"message":"qwerasdf",
"user":{"id":15,"username":"XXX"}
}
此请求返回200,但在数据库XXX不是ID 15. 在同一时间出现在正确的用户名,如果用户没有在这个请求存在,则返回200(OK)太多。
我的问题是这个,我不想发送用户ID。我只是想发送的消息和用户名(有在FutureMessage对象超过2个属性)
@RequestMapping(path="message/new",method=RequestMethod.POST)
public FutureMessage newMessage(@RequestBody FutureMessage newMsg){// how to add user name here ?
FutureMessage msg = null;
if(newMsg==null)
return null;
if(newMsg.getUser()==null){
return null;
}
try{
msg = messageRepository.save(newMsg);
}catch(Exception ex){
ex.printStackTrace();
}
return msg;
}
编辑:我只想发送FutureMessage对象和用户名作为ResponseBody。这是我的问题没有返回404或其他任何东西。