Angular: как удалить несколько данных с помощью http.delete или http.request

#angular #mocking #http-delete

#angular #насмешливый #http-удалить

Вопрос:

Я могу удалить элемент при издевательстве над сервером с помощью приведенного ниже кода:

  var result = <Promise<ArrayBuffer>> this.http
      .request('delete', `api/accounts/1`)
      .toPromise();
  

Я хочу удалить несколько элементов, но хочу сделать это в пакетном режиме, а не отдельно

 var result = <Promise<ArrayBuffer>> this.http
            .request('delete', `api/accounts`, { 
                headers: new HttpHeaders({
                    'Content-Type': 'application/json',
                  }),
                body
             })
            .toPromise();
  

Это выдает ошибку «Не найдено»

 core.js:4197 ERROR Error: Uncaught (in promise): Object: {"body":{"error":"Missing "accounts" id"},"url":"api/accounts","headers":{"normalizedNames":{},"lazyUpdate":null},"status":404,"statusText":"Not Found"}
    at resolvePromise (zone-evergreen.js:798)
    at resolvePromise (zone-evergreen.js:750)
    at zone-evergreen.js:860
    at ZoneDelegate.invokeTask (zone-evergreen.js:399)
    at Object.onInvokeTask (core.js:27424)
    at ZoneDelegate.invokeTask (zone-evergreen.js:398)
    at Zone.runTask (zone-evergreen.js:167)
    at drainMicroTaskQueue (zone-evergreen.js:569)
    at invokeTask (zone-evergreen.js:484)
    at ZoneTask.invoke (zone-evergreen.js:469)  
  

Ответ №1:

Вы можете сослаться на то, как работает следующее:

  1. ForkJoin
  2. MergeMap

Вы можете обратиться к следующему блогу для получения подробной информации: Угловые множественные HTTP-запросы с RxJS

Комментарии:

1. может быть не то, что я хочу. Я хочу отправить один запрос, могу удалить их на сервере одним запросом, так что либо все успешное удаление, либо ни одно удаление в случае сбоя

2. Ваш серверный код должен поддерживать такое действие. Есть ли на вашем сервере конечная точка REST, которая удаляет все записи?

3. в настоящее время у меня еще нет кода на стороне сервера. Я просто издеваюсь над этим на своей стороне клиента.