问题是如何使用对象类型发送Header,而不是HTTPClient声明中提供的HttpHeaders。
getLoggedInUser(requestHeaderParam: GetLoggedInUserHeaderRequestParam): Observable<LoggedInUserResponse> {
return this.http.get<LoggedInUserResponse>(`${environment.apiBaseUrl}/auth/loggedInUser`,
{ headers: requestHeaderParam });
}
我在VS代码中得到的错误信息如下所示
“{headers:GetLoggedInUserHeaderRequestParam;}”类型的[ts]参数不可分配给“{headers?:HttpHeaders{[Header:string]:string string[];};};”类型“的参数;”观察?:“body”;Params?:Ht.“。属性”headers“的类型不兼容。类型”GetLoggedInUserHeaderRequestParam“不可分配给类型”HttpHeaders{[Header:string]:string string[];}“。类型”
请求参数类型如下所示
export interface GetLoggedInUserHeaderRequestParam {
uid: string;
PSID?: string;
}
如下所示的HttpClient声明。
HttpClient.get(url: string, options: {
headers?: HttpHeaders | {
[header: string]: string | string[];
};
observe?: "body";
params?: HttpParams | {
[param: string]: string | string[];
};
reportProgress?: boolean;
responseType: "arraybuffer";
withCredentials?: boolean;
}): Observable<ArrayBuffer>
请帮忙!!!
注意:我的问题不是如何使用HttpHeaders,而是如何使用HttpHeaders,我的问题是如何直接使用HttpClient中的声明类型{[Header:string]:string string[];}中提到的对象
问题是GetLoggedInUserHeaderRequestParam
和Headers直接对象的签名不同
例如
export interface GetLoggedInUserHeaderRequestParam {
uid: string;
PSID?: string;
}
只接受具有uid
和可选psid
的对象,其中header直接指向对象
{
[header: string]: string | string[];
}
{
"uid" : "1234",
"PSID" : "1223",
"name" : "test",
.....
}
您可以通过将接口定义为
interface GetLoggedInUserHeaderRequestParam {
[name: string] : string | string[];
}
并将HTTP方法调用为
let header: GetLoggedInUserHeaderRequestParam = {
"uid" : "1234",
"PSID" : "1234"
}
getLoggedInUser(header);
9. 不完全类型和复杂声明 在第 1 节 “复合类型与结构体”讲过算术类型、标量类型的概念,现在又学习了几种类型,我们完整地总结一下C语言的类型。下图出自[Standard C]。 图 23.5. C语言类型总结 C语言的类型分为函数类型、对象类型和不完全类型三大类。对象类型又分为标量类型和非标量类型。指针类型属于标量类型,因此也可以做逻辑与、或、非运算的操作数和if、for、while的控制表达
我有一个类用复数来计算,一个实部和一个虚部作为双类型。在其他部分,我有一个rational类来计算有理数。现在我想让我的复形类能在实部和虚部是有理数的情况下运算。我读过一些关于泛型的文档,但我不知道如何将实部和虚部声明为泛型类型,以及当实部和虚部是双倍或有理时如何使用添加2复数的方法。这是我的测试代码: 如果您看到了我实现了2个add方法的代码,但我只想要一个,因此对于其他方法,也需要toStri
数据-我使用XML中的许多附加列获取此类数据,并使用com。databricks spark-xml\u 2.11库,用于将xml数据转换为数据帧。 要求-必须从数组(struct)类型或列custom\u属性转换数据。示例中的custom\u属性,如示例输出所示。My struct有三个字段,分别命名为“\u VALUE”、“属性\u id”、“值”。我需要将属性id转换为列名称,数据为-检查“
我试图在我的主文件。 entry.ts位于src/js/entry, ts,vue的类型定义位于src/js/lib/baul/vue/type/index.d.ts 编译此文件时,输出如下。顺便说一句,typescript的目标是es6和es6模块。 JQuery工作正常(看起来像),所以我用导入替换了对vue类型定义的引用。 它编译得很好,下面是输出: 问题是没有删除类型定义的import语句
我有一个对象,其中包含另一个对象类型的属性,我想将其视为复杂类型。 在添加迁移时,我遇到了需要主键的问题(这正是我想要防止的)。 实体类型坐标需要定义主键。 编辑 出于性能原因,我希望属性存储为和,而不是对另一个表的引用。
npm包允许我们在TypeScript应用程序中使用反应。我们将组件定义为 在这里,我们必须声明组件道具和状态的类型(在类型变量中)。 在我们声明了这些类型之后,TypeScript使用这些类型来验证组件的使用(传递给它的道具的形状)。 我想围绕这样一个组件创建一个容器。容器将重用组件的道具。但是为了用相同的道具创建另一个组件,我必须重新声明道具的类型。或者从原始零部件文件中导出它们并导入到容器中