Nomi Nomi - 13 days ago 7
iOS Question

Algorithm design for laravel services to an IOS App

I used to work on codeignitor for mobile app services but now i am instructed to use Laravel instead of codeignitor.

in codeignitor we can call a controller (API in my case) directly from a url so with we can send some data . but in Laravel we can not call a controller directly from URL so we have to use routes to call a controller.
So how would a mobile App would call and send data to a route then the route would call the corresponding service of the API.

i am new to laravel so any help will a massive help.

Thank You .

Answer

These work the same as the would work on php or codeignitor .

POST method. in native php and codeignitor you get the input field by specifying POST method.However in Laravel You have to specify that in route . I hope you have some idea of MVC .You will specify your post route like that....

 Route::post('/login', 'Api@Signin');

Here is a simple service which logs in the user.

public function Signin()
{
     $validation = Validator::make(Request::all(),[ 
        'email'        => 'required',
        'password'     => 'required',
        'device_type'  => 'required',
        'device_token' => 'required',

    ]);


    if($validation->fails())
     {

            $finalResult = array('code' => 100,
                'msg' => 'Data Entered Not Correct.',
                'data' => array()
                );

     }

   else
     {
           $login = User::where(
                [
                    ['email', '=', Input::get('email')],
                    ['password', '=', md5(Input::get('password'))],
                ])->first();



           if (is_null($login))
        {

            $finalResult = array('code' => 100,
                'msg' => 'Your Account Does not exist.',
                'data' => array()
                );

        }

        else
        {


            $user= User::where('email', '=', Input::get('email'))->first();
                $user->device_token = Input::get('device_token');
                $user->device_type = Input::get('device_type');

                $user->save();


            $data = User::where(
                 [ 'email'    =>Input::get('email')],
                 [ 'password' =>md5(Input::get('password'))]
                 )->get();


            $finalResult = array('code' => 200,
                'msg' => 'Success',
                'data' => $data
                );

        }

    }   

        echo json_encode($finalResult);

}
Comments