использование относительной адресации для API внутри запроса Axios - PullRequest
0 голосов
/ 27 мая 2018

Я работаю над приложением, в котором URL / путь к функциям API CRUD определены следующим образом:

var newApiAddresses = {
        itemsGet: "<?php echo $view['router']->url('itembook_test_api_v1_apiitems_getitems'); ?>",
        itemAdd: "<?php echo $view['router']->url('itembook_test_api_v1_apiitems_itemadd'); ?>",
        itemEdit: "<?php echo $view['router']->path('itembook_test_api_v1_apiitems_itemedit', array('id' => null)); ?>",
        itemDelete: "<?php echo $view['router']->path('itembook_test_api_v1_apiitems_itemdelete', array('id' => null)); ?>"
    }

Как и ожидалось, путь для редактирования и удаления получает идентификатор.Теперь в моем приложении я могу создать сообщение и получить запрос с URL-адресами, определенными следующим образом:

  handlePostItemToApi () {
    axios.post(newApiAddresses.itemAdd, {
      "itemId": 1,
      "date": this.changeDateFormat(),
      ...

Выше отправляется запрос POST без проблем.Но когда мне нужно отредактировать элемент, мне нужно как-то включить itemid в этот URL.Я попытался сделать это так, но это не сработало

  handleEditItemToApi () {
    axios.put(newApiAddresses.itemEdit/{$id}, {
      "itemId": 1,
      "date": this.changeDateFormat(),
      ...

Как правильно включить идентификатор в приведенный выше URL для пут.Я не могу жестко закодировать URL, например, 'http://localhost/app_dev.php/api/v1/items/{$id}', как показано в документации Axios

1 Ответ

0 голосов
/ 27 мая 2018

Вы можете сделать это, используя обратные кавычки (не обычные одинарные кавычки), следующим образом,

 axios.put(`newApiAddresses.itemEdit/{$id}`, {

или используя одинарные кавычки как,

axios.put('newApiAddresses.itemEdit/'+id, {
...