2016-08-23 95 views
0

我想對自己的路由做一個路由,但它不工作。我得到了405錯誤。路由屬性Web Api 2.路由不正確

我的要求

return axiosInstant.put('/StorageItem/bought', { 
      storageItemId: storageItemId, 
     }).then(function (response) { 
      dispatch({ 
       type: actions.STORAGE_ITEM_BOUGHT, 
       payload: { 
        storageItemId: response.data 
       } 
      }); 
     }); 

這裏是我的2種put方法

[Route("put")] 
    [HttpPut] 
    public IHttpActionResult Put(StorageItem storageItem) 
    { 
     // return stuff back 
    } 

    [Route("bought/{storageItemId:guid}")] 
    [HttpPut] 
    public IHttpActionResult Bought(Guid storageItemId) 
    { 
     // return stuff back 
    } 

我想打第二個。

回答

0

第二種途徑是接受像/bought/cf3221c5-6f76-4cf7-a70c-5c28e4a07322一個網址,你正在調用的URL /StorageItem/bought

你應該修改你的JS以下:

return axiosInstant.put('/bought/' + storageItemId) 
        .then(function (response) { 
         dispatch({ 
          type: actions.STORAGE_ITEM_BOUGHT, 
          payload: { 
          storageItemId: response.data 
          } 
         }); 
        });