Функция HTTP DELETE, радикально работающая с JSON-сервером - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь отправить HTTP-запросы на JSON-сервер в моем приложении Angular, чтобы обновить файл 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 в качестве идентификатора методу deleteJob().Вместо удаления только этого объекта задания, задания с идентификаторами 2,3 и 6 удаляются, и это печатается в консоли:

УДАЛИТЬ / jobs / 6

IЯ подумал, что проблема может быть связана с 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 (не найдено)

Может кто-нибудь, пожалуйста, скажите мне, почемутакое поведение происходит и как я могу решить это?

...