我使用nswag
npm package来生成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
工具自动添加一个额外的标头(在我的情况下为JWT Bearer添加Authorization
)?
当然,有一种解决方法,可以使用文本编辑器使用以下代码替换标头位:
headers: new HttpHeaders({
"Content-Type": "application/json",
"Accept": "application/json",
'Authorization': 'Bearer ' + localStorage.getItem('token')
})
但是我怀疑可能有一种方法可以包含其他标题。
也许有人已经解决了这个问题?
答案 0 :(得分:2)
启用UseTransformOptionsMethod,设置ClientBaseClass并使用扩展代码在基类中定义方法...