C# 带正文和不记名令牌的EXECQUTE put方法
以下代码从C# 带正文和不记名令牌的EXECQUTE put方法,c#,angular,api,C#,Angular,Api,以下代码从Angular 7中删除了我的webapi中的put方法: public getData(objTimes: Times) { let bearer = 'Bearer ' + localStorage.getItem("TOKEN"); var headers = new Headers(); headers.append('Authorization', bearer); headers.append('Content-Type', 'application/json'); let
Angular 7
中删除了我的webapi中的put方法:
public getData(objTimes: Times) {
let bearer = 'Bearer ' + localStorage.getItem("TOKEN");
var headers = new Headers();
headers.append('Authorization', bearer);
headers.append('Content-Type', 'application/json');
let options = new RequestOptions({ headers: headers });
return this.http.put('https://localhost:44388/api/times', objTimes,
options);
}
在没有安全性的情况下,该方法返回项,但当我在WebApi的类中放置以下行时:
[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
我的角度代码生成的错误为400(错误请求)
如果在10分钟后我尝试调用该方法,返回的错误为401(未经授权),则生成令牌的时间为10分钟。尝试以下操作:
import { HttpClient, HttpHeaders } from '@angular/common/http';
return this.http.put(
'https://localhost:44388/api/times',
{
headers: new HttpHeaders(
{
'Authorization': 'Bearer ' + localStorage.getItem("TOKEN"),
'Content-Type': 'application/json',
}
)
}
);
请从开发者控制台/网络部分(f12)显示您的请求标题和正文。到时候就会清楚了