在 Axios 请求中对 API 使用相对寻址

using relative addressing for API inside Axios request

我正在开发一个应用程序,其中 URL/path 到 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)); ?>"
    }

正如预期的那样,编辑和删除的路径收到一个 ID。现在在我的应用程序中,我可以创建一个 post 并使用以这种方式定义的 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 中包含 id 的正确方法是什么?我不能像 url 那样对 url 进行硬编码'http://localhost/app_dev.php/api/v1/items/{$id}' as shown in axios documentation

您可以按照以下方式使用反引号(不是通常的单引号)来完成,

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

或使用单引号作为,

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