我有以下服务:

@Injectable()
export class ExerciseService {

    constructor(private http:HttpClient) {}

    public getExercises(): Observable<Exercise> {
        return this.http.get<Exercise>('http://localhost:8090/exercise/1');
    }
}

interface Exercise {
    name: string;
}


我从这次电话中得到的是:


  {defaultValue:10,id:1,名称“字符串”}


但是因为我在调用中传递了一个类型,所以我希望只能从该函数取回该名称。
我刚开始使用Angular 4,但看不出有什么问题:/

最佳答案

TypeScript中的类型是编译器(可能还包括您的IDE)的静态编译时提示,以帮助您编写代码。您的服务器无法得知指定的类型,因此将一如既往地返回相同的数据。甚至不知道代码是在调用时以TypeScript编写的。

如果需要,请使用map手动转换响应,或实现其他端点。

10-07 21:12