laravelでAPIを作成する
ルーティングを作成する
ルーティングはwebの場合には、 routes\web.phpに記載しますが
apiの場合はroutes\api.phpに記載します。
api.phpに記載したルーティングは\api\配下になります。
laravelのAPIでのSQL確認
ddで普通に見る事ができる。laravel便利。
$result = Live::all()->toSql();
dd($result);
APIでJSONデータを返す場合
jsonで単一データを戻す場合
public function index()
{
try {
$live = Live::first();
$result = [
'id' => $live->id,
'name' => $live->name,
];
} catch (\Exception $e) {
$result = [
'result' => false,
'error' => [
'messages' => [$e->getMessage()]
],
];
return $this->resConversionJson($result, $e->getCode());
}
return $this->resConversionJson($result);
}
private function resConversionJson($result, $statusCode = 200)
{
if (empty($statusCode) || $statusCode < 100 || $statusCode >= 600) {
$statusCode = 500;
}
return response()->json($result, $statusCode, ['Content-Type' => 'application/json'], JSON_UNESCAPED_SLASHES);
}
jsonで複数配列を返す場合
public function index()
{
try {
$lives = Live::all();
$result[] = array();
$count = 0;
foreach ($lives as $live) {
$result[$count] = [
'id' => $live->id,
'name' => $live->name,
];
$count++;
}
} catch (\Exception $e) {
$result = [
'result' => false,
'error' => [
'messages' => [$e->getMessage()]
],
];
return $this->resConversionJson($result, $e->getCode());
}
return $this->resConversionJson($result);
}