gpt4 book ai didi

typescript - 重新排列的 OneToOne 连接

转载 作者:搜寻专家 更新时间:2023-10-30 22:02:04 25 4
gpt4 key购买 nike

在我的客户申请的#/dossiers/{id}/offertes
我需要从 rest api/dossiers/{id} 获取我的文件。
然后在那个文件上我需要得到相应的offerte api/dossiers/{id}/offerte
从那里我会得到我的 offerteRecords api/offertes/{id2}/records

我将包含我的 REST 数据 here

第一个卷宗没问题。

restService.getOne("dossiers",this.parentId).then(
(dossier: any): void => {
this.dossier = dossier;
}

但是从那以后我想得到我的第二份文件。我可以这样做:

restService.getOneUrl("offertes", this.dossier._links.offerte.href).then(
(offerte: any): void => {
this.parent = offerte;
console.log("offerte is ", this.parent);
}
);

这给了我

Object {id: 1, createdBy: "system", createdOn: "2016-05-17T14:24:43.384+0000", updatedBy: null, updatedOn: null…}

但我想这样做

this.dossier.getList("offerte").then(
(offerte: any):void =>{
console.log("offerte is ", offerte);
}
);

但这会返回

[route: "offerte", reqParams: null, restangularized: true, fromServer: true, parentResource: Object…]

我应该如何调用这个对象而不是 getList()?

最佳答案

我找到了解决问题的部分方法。
在我的 restangular 配置中,当我得到项目时,这是预定义的。

restangularProvider.addResponseInterceptor(function(data: any, operation: string, what: string,
url: string, response: any,
deferred: any): any {
let result: any = data;

if (operation === 'getList') {
if (data._embedded !== undefined) {
result = data._embedded[what];
} else {
result = [];
}
}

return result;
});

与 getOneUrl 相比,这使得我收到的数据格式不正确。
这样做是因为 restangular 总是希望将数组输入到 getList。
我可以通过编写一些满足 getList 要求的自定义包装器来解决这个问题,但最简单/最快的解决方案是使用 customGET();

this.dossier.customGET("offerte").then(
(offerte: any):void =>{
console.log("offerte is ", offerte);
}
);

这将返回正确的报价对象。

关于typescript - 重新排列的 OneToOne 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37548250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com