在我的角度应用程序中,我使用httpClient
模块进行REST调用。在我的组件中,我有:
deleteMovie(id: number): void {
this._dataService.deleteMovie<DeleteMovie>(id)
.subscribe((data) => {
console.log(data.message);
this.movies = this.movies.filter(movie => movie.id !== id);
},
error => () => {
'something went wrong';
},
() => {
// console.log(this.movies);
});
}
这是服务中的删除方法:
public deleteMovie<T>(id: number): Observable<T> {
return this.http.get<T>('/api/movies/' + id, {headers: this.getToken()});
}
在后端控制器中我有:
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public String deleteMovie(@PathVariable("id") Integer id){
System.out.println(movieService.deleteMovie(id));
return movieService.deleteMovie(id);
}
在我的后端服务中:
@Override
public String deleteMovie(Integer id) {
Movie movie = movieRepository.findById(id);
User current_user = userService.getUser();
current_user.removeMovie(movie);
userRepository.save(current_user);
return "string";
}
我的DeleteMovie模型:
import { Movie } from './movie.model';
export class DeleteMovie {
message: string;
}
只是一个模型(现在)返回一个字符串。稍后会再回来。
当我运行代码时,日志显示&#34; string&#34;。所以在后端,字符串从服务返回到控制器。
但浏览器中的控制台显示:
错误类型错误:无法读取属性&#39;消息&#39;在SafeSubscriber._next中为null
为什么数据为空?