簡體   English   中英

laravel 5.5資源restful API

[英]laravel 5.5 resource restful API

我正在嘗試為我的應用程序創建一個API,以便我可以共享端點並將一個應用程序作為具有業務邏輯的核心應用程序,另一個可以與暴露的端點連接以將該功能用作服務。

我嘗試命中端點時收到錯誤。

下面是我的路線/ api.php

<?php

use App\PostModell;
use App\Http\Resources\PostModellResource;
use Illuminate\Http\Request;

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});
Route::get( '/cars',function(){
    return new PostModellResource(PostModell::all());
}); 

我的資源類看起來像

class PostModellResource extends Resource
{
         public function toArray($request)
    {
        return
        [
            'id'=>$this->id,
            'title'=>$this->title,
            'body'=>$this->body,
            'created_at' => $this->created_at,
            'updated_at' => $this->updated_at,

        ];          
    }

錯誤是

Sorry, the page you are looking for could not be found.

由於api路由中的路由,請使用此URI:

https://example.com/api/cars

此外,正如我在我的最佳實踐回顧中所展示的那樣, 您不應該將邏輯放入路徑中 ,而是將所有邏輯移動到控制器中。

使用api前綴 -

127.0.0.1:8000/api/cars 

要轉換資源集合,您需要使用collection()方法 -

return PostModellResource::collection(PostModell::all());

如果您使用的是Laravel api.php那么您必須使用api前綴,

或者,如果你使用Lumen web.php然后你可以直接調用它,或者你可以根據你的要求定義api前綴。

在Laravel: localhost:8000/api/yoururl

在Lumen: localhost/yoururl

api中的所有路由都有/api的前綴路徑(默認情況下)。 因此,在您的情況下,您應該通過以下方式訪問它: http:// YOURAPPURL / api / cars

您可能需要檢查App\\Providers\\RouteServiceProvider@mapApiRoutes以獲取更多信息。

暫無
暫無

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

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