我曾经在移动应用程序服务的Codeignitor上工作,但现在我被指示使用Laravel代替Codeignitor。

在codeignitor中,我们可以直接从url调用控制器(在我的情况下为API),以便我们可以发送一些数据。但是在Laravel中,我们无法直接从URL调用控制器,因此我们必须使用路由来调用控制器。
因此,移动应用将如何调用并将数据发送到路由,然后路由将调用API的相应服务。

我是laravel的新手,所以任何帮助都会大有帮助。

谢谢 。

最佳答案

这些工作与php或codeignitor上的工作相同。

POST方法。
在本机php和codeignitor中,您可以通过指定POST方法获得输入字段。但是在Laravel中,您必须在route中指定该字段。
希望您对MVC有一些了解,您将像这样指定您的发布路线...。

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

这是一个登录用户的简单服务。
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);

}

10-07 20:43