エンジニア日記

日々の開発あれこれ

Laravel5にてjsonを返却するAPIを作成する

サンプルコード

php artisan make:controller HogeController で雛形を作成したものに処理を追加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;

use App\Model\Fuga;
use Response;    // 追加
use Validator;   // 追加

class HogeController extends Controller
{
    public function getPiyo($id){

        // 受け取った引数のバリデーションルールを作成
        $validator = Validator::make(['id' => $id],
                                     ['id' => 'required|integer']);

        // バリデーションエラー
        if($validator->fails()){
            return Response::json([
                                'status' => 'NG',
                                'message' => '値が不正です'
                            ]);
        }

        // DBから値を取得
        $fuga = new Fuga();
        $piyo = $fuga::find($id);

        // jsonで返却
        return Response::json([
                            'status' => 'OK',
                            'piyo' => $piyo
                        ]);
    }
}

ルーティングを設定

1
2
3
4
Route::get('get_piyo/{id}', [
  'as'    => 'get_piyo',
  'uses'  => 'HogeController@getPiyo'
]);