【发布时间】:2017-09-18 19:16:33
【问题描述】:
我正在尝试将对象保存到数据库表中,但保存记录时,name 值为空。我正在使用 Spring 和 Hibernate。
当我在MovieController 中记录对象时:
@RequestMapping(value = "/", method = RequestMethod.POST)
public Movie createMovie(@RequestBody Movie movie){
System.out.println(movie.toString());
return movieService.createMovie(movie);
}
我看到这个值被记录了。
com.movieseat.models.Movie@abee456
我期待的是
id:20,名称:星球大战
在我的app.component.ts 我有:
createMovie(movie: Movie): void {
this._dataService.createMovie<Movie>({'id': 20, 'name': 'Star Wars'})
.subscribe((data) => this.movie = data,
error => () => {
'something went wrong';
},
() => {
console.log(this.movies);
});
}
app.service.ts
public createMovie<T>(movie: Movie): Observable<T> {
console.log(movie);
return this.http.post<T>('/api/movies/', movie);
}
那么为什么系统返回的是对象而不是对象中的值呢?或者至少我认为这就是它正在做的事情。
【问题讨论】:
-
你是如何为
Movie定义toString()的? -
@doelleri
System.out.println(movie.toString());在第一个代码块中。 -
在
Movie类中覆盖toString。 -
@PeterBoomsma 这就是你所说的,而不是定义它。
-
啊在那种情况下我还没有定义它。你能指导一下如何做到这一点吗?
标签: spring