[英]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.