JUN-NIKKI

現役プログラマーのFXとプログラミングのアウトプットブログです

【PHP7.x Laravel 5.8 入門】初めてのapi getの使用方法、手順など

f:id:jun1221:20190416232821p:plain

今回はLaravel 5.8を使用した、APIの作成方法について説明していきます。

因みにインストール方法については、以下を参照してください。
jun-nikki.hatenablog.com

目次

作るもの

・ブラウザでhttp://127.0.0.1:8000/sampleを叩いたら、jsonデータが返ってくる

設計

  1. コントロールを作成して、jsonデータをコントール側に持たせます。
  2. Routeでデータを取得します。

f:id:jun1221:20190422202839p:plain

準備:プロジェクトの作成

ドキュメントルート配下で以下のコマンドを実行してください

% laravel new hajimeteno_api

実行結果

Crafting application...
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 76 installs, 0 updates, 0 removals
  - Installing doctrine/inflector (v1.3.0): Loading from cache
  - Installing doctrine/lexer (v1.0.1): Loading from cache
:  ~ 中略 ~
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
Application ready! Build something amazing.

hajimeteno_apiフォルダが作成されるので、移動します。

cd hajimeteno_api

次に、以下のコマンドを実行しましょう。

% php artisan serve

実行結果

Laravel development server started: <http://127.0.0.1:8000>

ここまで出来たら一旦、以下でLaravelを実行してみましょう。
http://127.0.0.1:8000/
こんな画面が出たらOKです。
f:id:jun1221:20190422200302p:plain

コントローラの作成

次にコントローラを作成します。

php artisan make:controller PagesController
routes/web.api

以下の様にphpファイルが作成されます。
このファイルを開いてください。
hajimeteno_api\app\Http\Controllers\PagesController.php

以下の様にindex()関数を追記してください。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PagesController extends Controller
{
    //
    // ↓↓ 追記
    public function index()
    {
        $testData = [
            ["id" => "1", "title" => "AAA"],
            ["id" => "2", "title" => "BBB"],
            ["id" => "3", "title" => "CCC"]
        ];
        return $testData;
    }
}

web.phpでget
次に、以下のファイルを開いてください。
hajimeteno_api\routes\web.php

以下をファイルの末尾に記載してください。

Route::get('sample', 'PagesController@index');

ブラウザでhttp://127.0.0.1:8000/sampleを叩いてください。
以下の様に表示されましたでしょうか?
f:id:jun1221:20190422201811p:plain

まとめ

基本的なプロジェクト作成方法からコントローラを使用したgetの使用方法まで紹介しました。
今後はもう少し具体的なプログラムについてもふれていきます。