我使用nswag
npm 包生成 http 服务、接口等。
典型服务代理的打字稿代码如下所示:
@Injectable()
export class TenantsServiceProxy {
...
constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {
...
getTenantId(subdomain: string | null): Observable<number | null> {
...
let options_ : any = {
observe: "response",
responseType: "blob",
headers: new HttpHeaders({
"Content-Type": "application/json",
"Accept": "application/json"
})
};
return this.http.request("get", url_, options_).flatMap((response_ : any) => {
return this.processGetTenantId(response_);
}).catch((response_: any) => {
...
关于HTTP Headers
详细的位:
我想知道是否有办法告诉该nswag
工具自动添加额外的标头(Authorization
在我的情况下为 JWT Bearer)?
当然,有一种 hacky 解决方法可以使用文本编辑器将标题位替换为以下代码:
headers: new HttpHeaders({
"Content-Type": "application/json",
"Accept": "application/json",
'Authorization': 'Bearer ' + localStorage.getItem('token')
})
但我怀疑可能有一种方法可以包含额外的标题。
也许有人已经解决了这个问题?