2017-06-13 7 views
-2

laravelを使用して開発されたWebサイト用のAPIを作成したいと考えています。 APIはアンドロイドアプリケーションにデータを取得するために使用されます。私はAPIコンセプトを初めて使用しています。私はどこから始めるべきかわかりません。誰かが正しい方向に私を導くことができますか?PHPとLaravelを使用してRESTful APIを構築する方法

+0

クイックスタートは、このから良いでしょう[ドキュメント](https://laravel.com/docs/5.4/passport) – Webinion

+0

にそれを制限するために、質問を編集してください適切な回答を特定するのに十分な詳細を持つ特定の問題。 – milo526

+0

私はドキュメンテーションを試みました。しかし私は明確な考えを得ることができませんでした。 –

答えて

0

ルートの定義は、Laravelのバージョンによって異なります。

Laravel 5.3では、routes.phpファイルの代わりに別のapi.phpファイルにapiを定義できます。

REST APIに役立ついくつかの基本的なポイントがあります。

  1. 認証:

    あなたは認証トークンバックエンド(データベース)にし、成功したログインの更新にauth_token使用することができ、すべてのAPIリクエストであなたが認証トークンを渡す必要があります。これはバックエンドの認証トークンと一致し、それが同じであればユーザにデータ応答を得ることができます。

  2. ルート:

    我々はlaravel routes.phpのファイル内のルートを定義しているように、それは同じです。しかし、このように接頭辞を付けると良いです。

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

    あなたはルートグループを、これをすることができます使用すると、我々がV2のような異なるバージョンを維持することによって、APIを更新できるようにバージョン(V1)を維持するために良いです。

  3. REST APIクライアント:

    FirefoxはAPIをヒットするためにあなたは、郵便配達やREST 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

ありがとうございました。 –

関連する問題