【发布时间】:2021-06-13 10:21:33
【问题描述】:
我在 Angular11 中使用 API 遇到了一个小挑战。
我想使用 post 方法创建项目并将其添加到 API,但我在浏览器中遇到了未经授权的错误。
我该怎么办?
【问题讨论】:
-
能否请您更详细一些并更好地描述您遇到的错误。
-
请添加最少的可复制代码,以便我们了解您面临的问题以及您为解决问题所做的努力
我在 Angular11 中使用 API 遇到了一个小挑战。
我想使用 post 方法创建项目并将其添加到 API,但我在浏览器中遇到了未经授权的错误。
我该怎么办?
【问题讨论】:
请在您的每个 API 请求中附上headers。
或者更好的方法是创建proxy.conf.json 文件。此代理文件条目应反映在您的angular.json 下,并且要执行需要更改package.json 文件。
以下是文件更改示例
proxy.conf.json
{
"/api/*": {
"target": "http://xxx.xx.2.19:8080/cda/",
"secure": false,
"logLevel": "debug",
"changeOrigin": true
},
}
angular.json
"architect": {
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "<application-name>:build",
"proxyConfig": "src/proxy.conf.json" <-- HERE
},
},
package.json
ng serve --proxy-config proxy.conf.json
!!警告:这些更改仅适用于您的本地计算机,而当您在服务器上部署时,您需要以不同的方式处理它。
【讨论】:
您似乎没有在您的 api 端点上放置身份验证凭据,
HTTP 401 Unauthorized 客户端错误状态响应代码表示该请求尚未应用,因为它缺少目标资源的有效身份验证凭据。此状态与包含有关如何正确授权的信息的 WWW-Authenticate 标头一起发送。
欲了解更多信息,请访问this link
【讨论】: