angular - HTTP DELETE 函数在 JSON-server 中表现得非常彻底
问题描述
我正在尝试将 HTTP 请求发送到我的 Angular 应用程序中的 JSON 服务器,以更新 JSON 文件。
当我尝试删除一个job
对象时,正在删除多个作业,而不是我指定的那个。
这是我的Job Service
代码删除方法:
baseUrl = 'http://localhost:3000/jobs';
deleteJob(id: number): Observable<void> {
return this.httpClient.delete<void>(`${this.baseUrl}/${id}`)
.pipe(catchError(this.handleError));
}
这是我的一些 JSON 文件:
"jobs": [
{
"id": 1,
"title": "UI UX",
"description": "DESC",
"employeeId": "2",
"managerId": "1",
"imageUrl": ""
},
{
"id": 2,
"title": "devops",
"description": "asdf",
"employeeId": "1",
"managerId": "13",
"imageUrl": ""
},
{
"id": 3,
"title": "asdf",
"description": "adf",
"employeeId": "",
"managerId": "1",
"imageUrl": ""
},
{
"id": 6,
"title": "asdf",
"description": "adf",
"employeeId": "",
"managerId": "1",
"imageUrl": ""
}
],
如果我将 6 作为 ID 传递给该deleteJob()
方法。不是只删除该作业对象,而是删除 ID 为 2,3 和 6 的作业,并在控制台中打印:
删除 /jobs/6
我认为问题可能与baseUrl
,因为它没有指定id
属性。
所以我尝试了这个:
deleteUrl = 'http://localhost:3000/jobs/id';
deleteJob(id: number): Observable<void> {
return this.httpClient.delete<void>(`${this.deleteUrl}/${id}`)
.pipe(catchError(this.handleError));
}
但是现在,没有jobs
被删除,并且我在控制台中收到此消息:
删除 /jobs/id/6 404(未找到)
有人可以告诉我为什么会发生这种行为以及如何解决吗?
解决方案
推荐阅读
- javascript - @click 事件在 vue 组件中不起作用
- python - 如何在不每次都创建新的 AnimationGroup 的情况下更新 AnimationGroup?
- google-bigquery - 通过 BigQuery 访问 NOAA 数据
- python - 使用 patsy、statsmodels 将简单回归转换为对数刻度
- scala - 如何在when then函数中使用spark sql字符串函数
- apache-kafka - 带有 JdbcConnectionSource 连接器的 Kafka Connect 无法创建任务(连接器正在运行但任务不是)
- php - 我可以更有效地填充和过滤这个数组吗?
- c# - .NET 核心 Web API:获取控制器外部当前登录的用户 - 数据库优先方法
- asp.net - 如何在剃刀视图中正确转义双引号?
- excel - 将字段从此 ="09262001" 格式化为 mm/dd/yyyy