{
_productDepartment : null,
_productClass : null,
_productMaterial : null,
_productStyle : null,
_productDetails :
{
_productSkuKey : 800,
_description : "Product Description",
_collection : "Collection1",
_department : 200,
_productSize : "Size1",
_productClass : 45,
_productStyle : 1234,
_material : "Product Material",
_price : 100.00,
_mediaFileName : "XYZ"
},
_products : null,
_errorDetails :
{
_message : "success",
_status : 200
}
}
//product.ts
import { IProductDetails } from './productDetails';
export interface IProduct {
productDepartment: string;
productClass: string;
productMaterial: string;
productStyle: string;
productDetails: IProductDetails;
products: null;
errorDetails: string;
}
//productDetails.ts
export interface IProductDetails {
productSkuKey: number;
description: string;
collection: string;
department: number;
productSize: string;
productClass: string;
productStyle: number;
material: string;
price: string;
mediaFileName: string;
}
getProducts(storeId: string, productSKU: string) {
this.products = this.baseUrl + '/products/' + storeId + '/' + productSKU;
return this.http.get<IProduct[]>(this.products).catch(this.errorHandler);
}
this._transactionService.getProduct('98', '343').subscribe(data => this.products = data._productDetails);
我的问题是,这是确保我在代码中使用的对象与json响应数据匹配的正确方法吗?它如何知道将_productSkuKey与我的接口中的productSkuKey映射?
接口的结构和JSON的结构必须等效,这意味着属性应该具有完全相同的名称。
因此,您必须将下划线添加到接口中,或者从服务中删除下划线。
但是,没有办法确保您的接口与来自服务的JSON匹配。通过定义接口,您可以告诉TypeScript您所期望的内容。它并不阻止您接收不同的内容,因为类型信息在编译后会消失
所以这就是我试过的。有更好的方法吗?
问题内容: 我在Mac OS X 10.8.2上使用Go 1.0.3,并且正在尝试使用该软件包,试图将结构编组为json,但是我一直得到一个空的json对象。 该值是零,所以没有什么根据的是错误的功能,并且该结构是正确的。为什么会这样呢? 问题答案: 您必须将要封送的字段公开。像这样: 是因为所有的出口领域,在这种情况下有没有,是正确编组。 工作示例:https : //play.golang.o
我正在学习一个教程,但在一个点上卡住了。我尝试在邮递员中发出一个POST请求,但返回一个我无法解决的错误。错误如下: (节点:3224)UnhandledPromiseRejectionWarning:MongooseError:操作缓冲在10000ms超时后超时。(C:\users\murad\desktop\full stack\node\node_modules\mongoose\lib\d
我不想映射变量。是否有任何方法可以配置映射器,使其忽略此字段? 我知道我可以编写自定义数据映射器或使用流式API,但我想知道是否可以通过配置来实现?
我想计算当前活动的resetPassword(用户架构中的子文档)代码数。要激活代码,其到期日期必须大于当前日期。 这是我的用户模式。如果有人请求重置密码,我们将把一个新的对象推送到数组中。 我在尝试对活动重置代码的总数求和时遇到问题。下面是我正在运行的查询,它返回一个空数组。。。请注意,如果要删除match节,它将返回所有代码。我试着将这个匹配语句移出初始阶段,然后进行放松 这将返回一个空数组,
问题内容: 我应该把包裹放在哪里,以便可以被另一个包裹导入? 问题答案: 设置您的GOPATH。将软件包foo源放入GOPATH / src / optional-whatever / foo / *。go中,并在代码中使用 你 并不 需要显式地安装foo,那么去工具是一个构建工具,它会做自动的为你需要的时候。