Laravel

API

Parengė: Martynas Kašelionis

From zero to hero

API

Laravel API  veikia kaip transformacijos sluoksnis, esantis tarp jūsų Eloquent modelių ir JSON atsakymų, kurie grąžinami jūsų aplikacijos vartotojams.

API routes

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');

API metodai

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
                ]);
    }

Laravel resources

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/

Made with Slides.com