看过这个,但这个问题没有答案。所以再问这个问题。
我试图实现一个 PUT。没有工作,我查了requestInformation,并response在responseInterceptor。事实证明,控件永远不会到达我的responseInterceptor.
这是http代码:
put(url: string, body, options?:RequestOptionsArgs): Observable<StandardModelResponse>{
console.log("inside put, url = ", url, " body = ", body);
return this._http.put(url,body,this._updateRequestHeader(options));
}
Run Code Online (Sandbox Code Playgroud)
收到的日志是:
我InMemoryDbService有一个收藏:
let sessionData = [
{
id: 1,
loginActive: 0
}
];
Run Code Online (Sandbox Code Playgroud)
它返回这样的集合:
return {sessionData}
Run Code Online (Sandbox Code Playgroud)
我查看了源代码,是的,确实有一个 post 和 put 的实现,但是我in-memory-backend.service.ts在我node-modules的调试中找不到该文件,而是在in-memory-backend.service.js那里。打这个POST电话的正确方法是什么,我在这里错过了什么?
您可以通过将 post 方法添加到 InMemoryDbService 的实现中来“覆盖”(我不确定是否发生了这种情况)
import { InMemoryDbService } from 'angular-in-memory-web-api';
import { getStatusText, STATUS } from 'angular-in-memory-web-api/http-status-codes';
import { ParsedRequestUrl, RequestInfo, RequestInfoUtilities, ResponseOptions } from 'angular-in-memory-web-api/interfaces';
.....
post(reqInfo: RequestInfo) {
}
...
Run Code Online (Sandbox Code Playgroud)
您可以实现它来执行类似 get 方法的实现之类的操作,如下所示: source
我希望这有帮助。似乎有效:)
| 归档时间: |
|
| 查看次数: |
3556 次 |
| 最近记录: |