我有一個插入對象的方法。但是這個對象與另一個對象映射爲一對多。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或其他任何東西。