使用TypeScript,JavaScript,Java或其他类中的类来处理API响应的最专业方法是什么?
例如,一个应用程序需要三个资源:
每个帐户都有一个或多个汽车,每个汽车都有一个或多个广告。
我在应用程序中看到了两种处理这些资源的方法:
为每个资源(帐户,汽车,司机)创建一个类并将其嵌套。例如。
class Account {
constructor(
public id: number,
public name: string,
public age: number
public cars: Car[]
) {}
}
class Car {
constructor(
public id: number,
public type: string,
public seats: number
public drivers: Driver[]
) {}
}
在这种情况下,API将返回已嵌套的JSON响应,并且只需要一次请求数据。
为每个资源创建一个类,但不要嵌套。首先只获取帐户数据(调用/ account / 1234),然后根据需要购买驱动程序,并在应用程序生命周期的较晚日期需要汽车。
class Account {
constructor(
public id: number,
public name: string,
public age: number
) {}
}
class Car {
constructor(
public id: number,
public type: string,
public seats: number
) {}
}
在这种情况下,API将为每个API调用仅返回主资源数据。
资源是否总是嵌套在整个应用程序上并且一次只调用,或者资源类是否存在并且在应用程序中彼此独立地重新加载?专业程序员使用哪种方式?
答案 0 :(得分:1)
来自Angular Style Guide
考虑使用数据模型的接口
Angular 4.3引入了一种更简单的方法来处理http
库的HttpClient
请求
您可以告诉
HttpClient
要进行消费的响应类型 输出更容易,更明显。 您需要做的就是为响应的形状定义一个接口,并针对该接口进行类型检查:
interface Post {
title: string;
body: string;
};
// ...
constructor(private http: HttpClient) {}
getData() {
this.http.get<Post>(this.url).subscribe(res => {
this.postTitle = res.title;
});
}
所以资源总是嵌套在整个应用程序上 只在一次调用,或者资源类是否存在和 在应用程序中彼此独立重新加载?专业程序员使用哪种方式?
完全取决于您的用例