2017-06-13 39 views
-2

我想爲使用laravel開發的網站創建API。 API是用來獲取數據到android應用程序。我是API概念的新手。所以我現在陷入困境。我不知道從哪裏開始。任何人都可以引導我正確的方向嗎?如何使用PHP和Laravel構建RESTful API

+0

快速啓動將是一件好事,從這個[文件](https://laravel.com/docs/5.4/passport) – Webinion

+0

請編輯的問題將其限制在一個具體的問題有足夠的細節來確定適當的答案。 – milo526

+0

我試過了文檔,但是我不明白。 –

回答

0

定義路線的變化取決於Laravel的版本。

在Laravel 5.3中,我們可以在單獨的api.php文件中定義api而不是routes.php文件。

我可以說一些基本點,這將有助於REST API。

  1. 認證:

    您可以在後臺(數據庫),並在成功登錄更新身份驗證令牌使用的auth_token,並在每個API請求,你應該通過身份驗證令牌。這將與後端中的身份驗證令牌相匹配,如果它相同,那麼我們將讓用戶獲得數據響應。

  2. 路線:

    它作爲我們定義在laravel routes.php文件的文件路徑是一樣的。但是,像這樣加上前綴是很好的。

    Route::group(['prefix' => 'api/v1'], function() 
    { 
        Route::post('authenticate', '[email protected]'); 
    } 
    

    使用此可以分組的路由,這是很好的保持版本(V1),使我們可以通過維護不同的版本像V2更新API。

  3. REST API客戶端:

    您可以使用郵遞員或REST API客戶端插件的Firefox打API。

  4. 頁眉:

    要打到我們需要指定報頭的API。要傳遞JSON請求,標頭應該是

    Content-Type: application/json 
    
  5. 始終在您的api響應中包含status_code和消息。響應應該以JSON格式返回。

    簡單的例子:

    routes.php文件

    Route::group(['prefix' => 'api/v1'], function() 
    { 
        Route::post('getUserData', '[email protected]'); 
    } 
    

    APIV1Controller.php

    public function getUserData(Request $request){ 
    
    $user = User::select('name','phone') 
    ->where('email','=',$request['email'])->first(); 
    if($user){ 
        return response()->json(['statusCode' => '200','message' => 'User Found','userDetails'=>$user]); 
    } 
        else{ 
         return response()->json(['statusCode' => '400','message' => 'User Not Found']); 
        }  
    } 
    

    在郵差:

    URL:www.example.com/api/v1/getUserData

    頭:Content-Type: application/json

    請求:{"email":"[email protected]"}

    擊中API,你會得到響應。

    響應:

    {"statusCode":"200","message":"User Found","userDetails":{"name":"Ganesh","phone":"1525353535"}} 
    
+0

非常感謝你們,我會試試這個 –