Martynas Kašelionis
WEB developeris, programavimo mokytojas
Parengė: Martynas Kašelionis
From zero to hero
Laravel API veikia kaip transformacijos sluoksnis, esantis tarp jūsų Eloquent modelių ir JSON atsakymų, kurie grąžinami jūsų aplikacijos vartotojams.
Aprašomi Routes/api.php
Route::get('/post','ApiController@get_all_posts');
Route::get('/category','ApiController@get_all_categories');
Route::get('/post/{id}','ApiController@get_posts_by_id');
Route::get('/post-by-category/{category_id}','ApiController@get_posts_by_category');
Route::get('/post-comments/{id}','ApiController@get_post_with_comments');
Route::get('/get-likes','ApiController@get_likes');Aprašomi API kontroleryje
/****************************************** */
public function get_all_categories(){
return Category::all();
}
/********************************************* */
public function get_all_posts(){
return Post::all();
}
/********************************************* */
public function get_posts_by_id($id){
return Post::find($id);
}
/********************************************* */
public function get_posts_by_category($category_id){
return Post::where('category_id',$category_id)->get();
}
/********************************************* */
public function get_post_with_comments($id){
$comments = Comment::where('post_id',$id)->select('comment','user_id','name')->get();
$post = Post::find($id);
return compact(['post','comments']);
}
/********************************************* */
public function add_like($id){
$post_likes=Post::find($id);
Post::where('id',$id)->update([
'likes' =>$post_likes->likes+1
]);
}Alternatybus būdas kurti API naudojant Laravel resurces, kai modeliai konvertuojami į JSON atsakymus.
Plačiau:
https://blog.pusher.com/build-rest-api-laravel-api-resources/
By Martynas Kašelionis