2016-08-23 96 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 
          } 
         }); 
        });