<?php

use Illuminate\Http\Request;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

Route::middleware('auth:api')->get('/user'function (Request $request) {
    return $request->user();
});



Route::get('/contacts','ContactController@index');

Route::post('/contacts/create','ContactController@store');
Route::get('/contacts/{id}','ContactController@show');
Route::delete('/contacts/{id}','ContactController@destroy');
Route::put('/contacts/{id}','ContactController@update');



Api in Lravel






<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Contacts;

class ContactController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
       //echo "Hello From Contact Us";
       $contacts = contacts::all();
       $response = array();
       $response['code']=200;
       $response['status']=true;
       $response['massage']='Recordrd Found';
       $response['data']=$contacts;
       return response()->json($response);
       
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
       // print_r($request->all());
        $errors =array();
        $response =array();
        foreach($request->all() as $field=>$value)
        {
            if (is_null($value) or empty($value)) {
               
               $errors[$field] = "is Required";
            }
        }
        $response['code']=201;
        $response['status']=false;
        $response['massage']='Cannot add Record';
        $response['error']=$errors;
        $response['error_count']=count($errors);

        // return response()->json($response);

          if (count($errors)>0){
          return response()->json($response);
       }else{
        //insert into the databse
        $contacts = Contacts::create([
            'name'=>$request->get('name'),
            'email'=>$request->get('email'),
            'mobile'=>$request->get('mobile'),
            'massage'=>$request->get('massage')
        ]);

       $user_id =$contacts->id;
       $user_data = Contacts::where('id',$user_id)->get();
       $response['code']=200;
       $response['status']=true;
       $response['massage']='Recordrd Added Successfully';
       $response['data']=$user_data;
       $response['error_count']=count($errors);
        return response()->json($response);

       }

       

    }


    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $errors = array();
        $data = array();
       if (is_null($id) or empty($id)){
          
          $errors['id']='is missing';
       }elseif(isset($id)){
        $count = Contacts::where('id',$id)->count();
        if ($count>0) {
            
            $contacts = Contacts::find($id);
            $data = $contacts;
            $response['code']=200;
            $response['status']=true;
            $response['data']=$data;
            $response['massage']='Record Found';
            $response['error']= $errors;
            $response['error_count']= count($errors);
        }else{
            $response['id']='invalid Id Supplied';
            $response['code']=201;
            $response['status']=false;
            $response['data']=$data;
            $response['massage']='Record Not Found';
            $response['error']= $errors;
            $response['error_count']= count($errors);
        }
       }
       return response()->json($response);
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $response = array();
        $contact = Contacts::find($id);
          $name=$contact->name;
          $email=$contact->email;
          $mobile=$contact->mobile;
          $message=$contact->massage;

          $form_name=$request->get('name');
          $form_email = $request->get('email');
          $form_mobile$request->get('mobile');
          $form_message=$request->get('massage');

        $contacts = Contacts::where('id',$id)->update([

          'name'=>isset($form_name)?$form_name:$name,
          'email'=>isset($form_email)?$form_email:$email,
          'mobile'=>isset($form_mobile)?$form_mobile:$mobile,
          'massage'=>isset($form_message)?$form_message:$message,
        ]);

        $update_record = Contacts::find($id);
       
        $response['code']=200;
        $response['status']=true;
        $response['data']=$update_record;
        $response['massage']='Record Updated Successfully';
        return response()->json($response);
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
       $errors = array();
        $data = array();
       if (is_null($id) or empty($id)){
          
          $errors['id']='is missing';
       }elseif(isset($id)){
        $count = Contacts::where('id',$id)->count();
        if ($count>0) {
            
            $contacts = Contacts::find($id);
            $contacts->delete();
            $response['code']=200;
            $response['status']=true;
            $response['data']=$data;
            $response['massage']='Record Deleted Successfully';
            $response['error']= $errors;
            $response['error_count']= count($errors);
        }else{
            $response['id']='invalid Id Supplied';
            $response['code']=201;
            $response['status']=false;
            $response['data']=$data;
            $response['massage']='Record Not Deleted';
            $response['error']= $errors;
            $response['error_count']= count($errors);
        }
       }
       return response()->json($response);
    }
}





Api in Lravel