要设置代理以在本地提供使用Windows身份验证的Web API的Angular 8应用程序,您需要进行以下步骤:
proxy.conf.json
的文件,并将以下内容添加到文件中:{
"/api/*": {
"target": "http://localhost:your-api-port",
"secure": false,
"changeOrigin": true,
"logLevel": "debug",
"pathRewrite": {
"^/api": ""
},
"headers": {
"Authorization": "Negotiate"
}
}
}
请确保将your-api-port
替换为您实际的Web API端口号。此配置将把所有以/api
开头的请求转发到指定的目标。
angular.json
文件中,找到您的项目配置,然后将proxyConfig
属性设置为proxy.conf.json
文件的路径,如下所示:"architect": {
"serve": {
"options": {
"proxyConfig": "proxy.conf.json"
},
...
},
...
}
app.module.ts
文件中,导入HttpClientModule
:import { HttpClientModule } from '@angular/common/http';
app.module.ts
文件的imports
数组中,将HttpClientModule
添加为导入模块:@NgModule({
declarations: [
...
],
imports: [
...
HttpClientModule
],
...
})
export class AppModule { }
HttpClient
来进行API请求:import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class ApiService {
constructor(private http: HttpClient) { }
getApiData() {
return this.http.get('/api/your-api-endpoint'); // 替换为您的API端点
}
}
这样,您的Angular应用程序将通过代理转发所有以/api
开头的请求,并在请求头中添加Windows身份验证。