尝试使用以下响应接口处理服务器返回的数据。唯一的问题是response.data.data明显为空,但response.data包含了实际数据。
当我悬停在response.data.data中的最后一个数据上时,它显示类型为:(Property) ProductResponse.data: ProductDTO。
如果我修改我的axios.get<>()以将response.data传递给Product构造函数并返回一个Product,则一切都可以正常工作。但我不断遇到使用此接口模式,所以我正在尝试自己使用它。
对于专家来说可能很简单,谢谢!
当我悬停在response.data.data中的最后一个数据上时,它显示类型为:(Property) ProductResponse.data: ProductDTO。
如果我修改我的axios.get<>()以将response.data传递给Product构造函数并返回一个Product,则一切都可以正常工作。但我不断遇到使用此接口模式,所以我正在尝试自己使用它。
对于专家来说可能很简单,谢谢!
import axios from "axios";
import Product, { ProductDTO } from "@/models/Product";
interface ProductResponse {
status: number;
message: string;
data: ProductDTO;
}
// Rework to a more generic API
export abstract class ProductApi {
private static productAxios = axios.create();
static async getProduct(id: number): Promise<Product> {
let response = await this.productAxios.get<ProductResponse>(
"http://localhost:8080/api/product/" + id
);
console.log(response.data.data);
return new Product(response.data.data);
}
}
/api/product/
返回数据的方式。 - Nicolas