axios.delete () выдает ошибку 403 ... однако это работает в POSTMAN, и метод axios.post работает нормально - PullRequest
2 голосов
/ 17 октября 2019

У меня есть интерфейс REACT, взаимодействующий с бэкэндом STS (java).

УДАЛИТЬ функцию:

deleteCustomer = (someone) => {
    // eslint-disable-next-line
    let url = "http://localhost:8080/customer/" + `${someone}`
    axios.delete(url)

    .catch(function (error) {
      console.log("Deletion failed with error: " + error);
    });
  }

HTML, где он запускается:

      {this.state.customers.map(p => (

        <span onClick={() => this.deleteCustomer(p.customerid)} title="Delete Customer"><img alt="delete" className="hiddenIcon actionDelete" src={deleteHover} /></span>

        ))}

В Java-интерфейсе метод удаления выглядит следующим образом:

@DeleteMapping("/{customerid}")
  public void deleteCustomer(@PathVariable Long customerid) {
    customerRepository.deleteById(customerid);
  }

Поэтому, когда я запускаю запрос типа DELETE в приложении POSTMAN, запись удаляется без каких-либо проблем. Однако при попытке запустить функцию из интерфейса React выдается ОШИБКА 403 (ошибка сети) при попытке запуска. Я предполагаю, что какой-то заголовок или параметр мне не хватает? Если требуется АВТОРИЗАЦИЯ, как мне найти мой ключ авторизации?

Я пытался следовать этому: метод удаления axios дает 403 Но не получил никакого разрешения.

Любая помощь очень ценится - спасибо.

1 Ответ

2 голосов
/ 17 октября 2019

Это может быть связано с CORS, попробуйте добавить аннотацию @CrossOrigin к конечной точке следующим образом:

@CrossOrigin
@DeleteMapping("/{customerid}")
public void deleteCustomer(@PathVariable Long customerid) {
    customerRepository.deleteById(customerid);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...