簡體   English   中英

Laravel NotFoundHttpException盡管路由存在

[英]Laravel NotFoundHttpException although route exists

我使用vue.js和Laravel 5.1來創建一個小文件共享應用程序。

一切都很完美但現在我想確保每個文件的所有者能夠從他的文件中刪除用戶(他當然必須首先與這些用戶共享文件),因此我向一個名為/files/share的URL發出PUT請求/files/share

我的Laravel路線如下:

Route::put('/files/share', 'FileController@test');

當我運行php artisan route:list它也會被列出。

客戶端代碼如下所示:

this.$http.put('/files/share', { some_data }, function(data) {
    if(data.error){
        this.$set('error', data.error);
    } else {
        this.$set('file', data);
    }
});

我得到的確切錯誤是這樣的:

2/2 NotFoundHttpException in Handler.php line 46:
No query results for model [App\File].
1/2 ModelNotFoundException in Builder.php line 129:
No query results for model [App\File].

但應用程序甚至沒有到達控制器,如果我只是從那里返回一些錯誤是相同的。

通過Laravel路線,訂單很重要。 具有動態段(如files/{file}或資源路徑)的路由應始終在靜態段之后定義。 否則,Laravel會將您網址中的share部分解釋為ID。

所以,正如你自己想出的那樣,你只需要改變路線的順序:

Route::put('/files/share', 'FileController@test');
Route::resource('/files', 'FileController');

感謝lukasgeiter,我再次檢查了我的路由,並且必須在我的RESTful資源路由之前定義/ files / share路由。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM