无法阅读回复内容

时间:2017-12-10 18:19:47

标签: angular

在我的角度应用程序中,我使用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

为什么数据为空?

0 个答案:

没有答案