Angular 2 Ошибка Поставляемые параметры не соответствуют какой-либо сигнатуре целевого вызова

Я пытаюсь вызвать post api при нажатии кнопки, но я показываю эту ошибку:

Поставляемые параметры не соответствуют сигнатуре целевой цели

код:

changeStatus(id) {
    this.http.post('https://localhost:44300/api/apis/ChangeStatus/' + id)
        .subscribe(
            data => this._data = data.json(),
            err => this.logError(err)
        );
}

Ответы

Ответ 1

http.post ожидает, что тело будет отправлено на целевой хост.

http.post(url, body, requestOptions)

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

changeStatus(id) {
    // mind the empty string here as a second parameter
    this.http.post('https://localhost:44300/api/apis/ChangeStatus/' + id, "") 
        .subscribe(
            data => this._data = data.json(),
            err => this.logError(err)
        );
}

Ответ 2

post требуется как минимум два параметра, первый "URL" и второй "Тело", а в вашем коде вы просто передаете URL не тело.