我正在研究一个有角度的6+项目,该项目的某些部分使用有角度的http服务对服务器进行一些api调用,我尝试将这些http服务转换为新的httpClient服务。
但是我收到一个奇怪的错误,我对该错误一无所知。尝试部分在下面。你能帮我吗?
有效的http示例:
此示例可以正常工作并获得正确的响应
public userLogin(userData: LoginModel): Promise<any> {
let options = new RequestOptions({
headers: new Headers({
"Content-type": "application/json"
})
});
const model: LoginRequestModel = {
EncryptedUsername: this.helper.encrypt(userData.UserName),
EncryptedPassword: this.helper.encrypt(userData.Password),
Stamp: ""
}
let data = JSON.stringify(model);
return this.http.post(this.api + "login", data, options).toPromise();
}
不起作用的httpClient示例:
控制台上出现错误;
userLogin2(userData: LoginModel): Observable<any> {
let options = {
headers: new HttpHeaders({
"Content-type": "application/json"
})
};
const model: LoginRequestModel = {
EncryptedUsername: this.helper.encrypt(userData.UserName),
EncryptedPassword: this.helper.encrypt(userData.Password),
Stamp: ""
}
let data = JSON.stringify(model);
return this.httpClient.post<any>(this.api + "login", data, options);
}
和错误:
body: {error: "Collection 'v1' not found"}
headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
status: 404
statusText: "Not Found"
url: "https://converting.azurewebsites.net/api/v1.0/login"
答案 0 :(得分:0)
问题与 Angular InMemoryWebApi
如果您在项目中使用了该模拟服务,它将重新路由您的实际请求并导致404 not found
错误。对于该解决方案,您必须从app.module.ts file