Created
June 22, 2018 20:38
-
-
Save kodeFant/99e4ee0a021dc1bb9a66eee2d017e807 to your computer and use it in GitHub Desktop.
Boilerplate for Laravel JSON API
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace App\Http\Controllers; | |
use Illuminate\Http\Request; | |
use App\Article; | |
use App\Http\Resources\Article as ArticleResource; | |
class ArticleController extends Controller | |
{ | |
/** | |
* Display a listing of the resource. | |
* | |
* @return \Illuminate\Http\Response | |
*/ | |
public function index() | |
{ | |
// Get articles | |
$articles = Article::paginate(15); | |
// Return collection of articles as a resource | |
return ArticleResource::collection($articles); | |
} | |
/** | |
* Store a newly created resource in storage. | |
* | |
* @param \Illuminate\Http\Request $request | |
* @return \Illuminate\Http\Response | |
*/ | |
public function store(Request $request) | |
{ | |
$article = $request->isMethod('put') ? Article::findOrFail($request->article_id) : new Article; | |
$article->id = $request->input('article_id'); | |
$article->title = $request->input('title'); | |
$article->body = $request->input('body'); | |
if ($article->save()) { | |
return new ArticleResource($article); | |
} | |
} | |
/** | |
* Display the specified resource. | |
* | |
* @param int $id | |
* @return \Illuminate\Http\Response | |
*/ | |
public function show($id) | |
{ | |
// Get article | |
$article = Article::findOrFail($id); | |
// Return single article as resource | |
return new ArticleResource($article); | |
} | |
/** | |
* Remove the specified resource from storage. | |
* | |
* @param int $id | |
* @return \Illuminate\Http\Response | |
*/ | |
public function destroy($id) | |
{ | |
// Get article | |
$article = Article::findOrFail($id); | |
if ($article->delete()) { | |
return new ArticleResource($article); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment