我目前正在构建一个用于学习目的的小型Angular应用程序。我正在调用.net核心WebApi来获取/操作数据。
现在,我的问题是:
在所有Post和Put请求中,我使用完全相同的标题:
const headers = new HttpHeaders().set('content-type', 'application/json');
我这样追加(例如在帖子中):
return this.http.post<SmartCard>(AppDefinitions.ApiSmartCardAdminPath, body, { headers })
由于post和put都有相同的标题,我想把它添加到我的AppDefinitions类中,看起来像这样:
import { HttpHeaders } from "@angular/common/http";
export class AppDefinitions {
public static ApiBasePath: string = "http://<my webapp name>.azurewebsites.net/api/";
public static ApiLoginPath: string = AppDefinitions.ApiBasePath + "Login/";
public static ApiSmartCardAdminPath: string = AppDefinitions.ApiBasePath + "SmartCard/";
public static JsonHttpHeaders: HttpHeaders = new HttpHeaders().set('content-type', 'application/json');
}
然后我继续删除post和put方法中的ehader定义,然后用JsonHttpHeaders调用替换它,然后看起来像这样:
return this.http.post<SmartCard>(AppDefinitions.ApiSmartCardAdminPath, body, { this.GetHttpHeaders() })
但这只会导致错误,其中指出:
Argument of type '{ this: any; }' is not assignable to parameter of type '{ headers?: HttpHeaders | { [header: string]: string | string[]; }; observe?: "body"; params?: Ht...'.
Object literal may only specify known properties, and 'this' does not exist in type '{ headers?: HttpHeaders | { [header: string]: string | string[]; }; observe?: "body"; params?: Ht...'.
现在,我不确定我是否理解这一点,但是这是否意味着我的AppDefinitions正在返回?我怎么能改变呢?我还尝试在服务类本身中创建以下方法:
GetHttpHeaders() : HttpHeaders{
const headers = new HttpHeaders().set('content-type', 'application/json');
return headers;
}
但是这会导致同样的错误。
我在做什么(和理解)错了?
答案 0 :(得分:1)
设置标题属性。
df1.isnull().sum()