Debug School

rakesh kumar
rakesh kumar

Posted on

Different way to send data from client side controller microservices to server side controller in Laravel

First Method

'form_params' => $request->all()
Enter fullscreen mode Exit fullscreen mode

Second Method

'form_params' => [
                         'type_of_task' => $encrypteds,
                         'email_address' => $emails_encrypteds,

                     ]
Enter fullscreen mode Exit fullscreen mode

Third Method

  $response = $http->post(
                    Config::get('app.SD_TASK_BOARD_MS_BASE_URL') . Config::get('app.SD_TASK_BOARD_MS_UPDATE'),
                    [
                        'headers' => [
                            'Accept'     => 'application/json',
                            'Authorization' => 'Bearer ' . $access_token
                        ],
                        // 'form_params' => $request->all() // form_prams means all data send by request
                        'multipart' => $multipartArray
                    ]
                );
Enter fullscreen mode Exit fullscreen mode

In Laravel, there are several ways to send data from client-side controllers to server-side controllers. Some of the common ways are:

HTTP requests: You can send HTTP requests from the client-side controller to the server-side controller using methods like GET, POST, PUT, DELETE, etc. You can use Laravel's built-in HTTP client or any other HTTP client library like Guzzle.

AJAX requests: You can use AJAX requests to send data asynchronously from the client-side controller to the server-side controller without reloading the page. You can use jQuery or any other JavaScript library to make AJAX requests.

WebSockets: WebSockets provide a real-time, bi-directional communication channel between the client and server. You can use Laravel's built-in WebSockets support or any other WebSocket library to send data from the client-side controller to the server-side controller.

Event broadcasting: Laravel's event broadcasting feature allows you to broadcast events from the client-side controller to the server-side controller using web sockets or other broadcasting drivers. You can use Laravel's built-in event broadcasting or any other event broadcasting library.

REST API: You can create a REST API in Laravel and use it to send data from the client-side controller to the server-side controller. You can use Laravel's built-in API support or any other API library like Lumen.

Sure, here are some examples of different ways to send data from client-side controllers to server-side controllers in Laravel:

HTTP Requests

In the client-side controller, you can use Laravel's built-in HTTP client to send a POST request to the server-side controller:

use Illuminate\Support\Facades\Http;

$response = Http::post('http://example.com/api/user', [
    'name' => 'John Doe',
    'email' => 'john.doe@example.com',
]);
Enter fullscreen mode Exit fullscreen mode

In the server-side controller, you can retrieve the data using the request object:

public function store(Request $request)
{
    $name = $request->input('name');
    $email = $request->input('email');

    // Store the data in the database
}
Enter fullscreen mode Exit fullscreen mode

AJAX Requests
In the client-side controller, you can use jQuery to make an AJAX request to the server-side controller:

$.ajax({
    url: '/api/user',
    method: 'POST',
    data: {
        name: 'John Doe',
        email: 'john.doe@example.com',
    },
    success: function(response) {
        console.log(response);
    }
});
Enter fullscreen mode Exit fullscreen mode

In the server-side controller, you can retrieve the data using the request object:

public function store(Request $request)
{
    $name = $request->input('name');
    $email = $request->input('email');

    // Store the data in the database
}
Enter fullscreen mode Exit fullscreen mode

Image description

WebSockets
In the client-side controller, you can use Laravel's built-in Echo library to send data to the server-side controller using WebSockets:

var socket = io('http://example.com:6001');

socket.on('connect', function() {
    socket.emit('message', {
        name: 'John Doe',
        email: 'john.doe@example.com',
    });
});
Enter fullscreen mode Exit fullscreen mode

Image description

 $response = $http->post(
                    Config::get('app.SD_WEBSITE_RANKING_MS_BASE_URL') . Config::get('app.SD_WEBSITE_RANKING_MS_STORE_URL'),
                    [
                        'headers' => [
                            'Accept'     => 'application/json',
                            'Authorization' => 'Bearer ' . $access_token
                        ],
                        'form_params' => $request->all()
                    ]
                );
Enter fullscreen mode Exit fullscreen mode

Another Method

  if ($validatorResponse['success']) {
                Log::info('Calling WebAccessApiController::getWebAccessToken()');
                $access_token = $this->getWebAccessToken();
                Log::info('Got the access token from WebAccessApiController::getWebAccessToken(). Now creating Web Access!');

                Log::info('SD_WEBSITE_ACCESS_MS_BASE_URL . SD_WEBSITE_ACCESS_MS_STORE_URL: ' . Config::get('app.SD_WEBSITE_ACCESS_MS_BASE_URL') . Config::get('app.SD_WEBSITE_ACCESS_MS_STORE_URL'));
                $email_address=$input['email_address'];
                $website=$input['website'];
                $wizard_project_name=$input['wizard_project_name'];
                $user_name=$input['user_name'];
                $password=$input['password'];
                $tokenid=$input['tokenid'];
                $pubskey=$input['pubkey'];
                $maintenance_engineer=$input['maintenance_engineer'];    
                $token_engineer=$input['token_engineer']; 
                $admin_id=$input['admin_id']; 
                $admin_email=$input['admin_email']; 
                $u_org_slugname=$input['u_org_slugname']; 
                $u_org_organization_id=$input['u_org_organization_id']; 
                $u_org_role_id=$input['u_org_role_id']; 

        $http = new Client(); //GuzzleHttp\Client
                $response = $http->post(
                    Config::get('app.SD_WEBSITE_ACCESS_MS_BASE_URL') . Config::get('app.SD_WEBSITE_ACCESS_MS_STORE_URL'),
                    [
                        'headers' =>[
                            'Accept' => 'application/json',
                            'Authorization' => 'Bearer ' .$access_token
                        ],

                        'form_params' => [
                         'type_of_task' => $encrypteds,
                         'email_address' => $emails_encrypteds,
                          'website' => $website_encrypteds,                           
                          'wizard_project_name' => $project_encrypteds,
                          'user_name' => $user_encrypteds,
                          'password' => $pass_encrypteds,
                          'tokenid' => $tokenid,
                          'pubkey' => $pubskey,   
                          'maintenance_engineer' => $engineer_encrypteds,
                          'token_engineer' => $token_engineer,
                          'admin_id' => $admin_id,
                          'admin_email' => $admin_email,
                          'u_org_slugname' => $u_org_slugname,   
                          'u_org_organization_id' => $u_org_organization_id,   
                          'u_org_role_id' => $u_org_role_id,   

                     ]
                    ]

                );
                // Log:info('$http' . $http);
                Log::info('Got the response from Task board ');
                Log::info('data store ho gaya hai successfully');
                $responseJson = json_decode($response->getBody()->getContents(), true);
                return response()->json($responseJson, 200);                
            } else {
                return response()->json($responseJson, 422);
            }
Enter fullscreen mode Exit fullscreen mode
 $response = $http->post(
                    Config::get('app.SD_TASK_BOARD_MS_BASE_URL') . Config::get('app.SD_TASK_BOARD_MS_STORE_URL')
                    . '/'
                    .$project_name,
                    [
                        'headers' => [
                            'Accept'     => 'application/json',
                            'Authorization' => 'Bearer ' . $access_token
                        ],
                        // 'form_params' => $request->all()
                        'multipart' => $multipartArray
                    ]
                );  
Enter fullscreen mode Exit fullscreen mode


   if ($validatorResponse['success']) {
                Log::info('Calling TaskboardApiController::getTaskBoardAccessToken()');
                $access_token = $this->getTaskBoardAccessToken();
                Log::info('Got the access token from TaskboardApiController::getTaskBoardAccessToken(). Now creating Task board!');
                Log::info('SD_TASK_BOARD_MS_BASE_URL . SD_TASK_BOARD_MS_STORE_URL: ' . Config::get('app.SD_TASK_BOARD_MS_BASE_URL') . Config::get('app.SD_TASK_BOARD_MS_STORE_URL'));

            // document is comming from blade page open
                $multipartArray = [];
                $resume = null;
            if (isset($input['document'])) {
                $resume = $input['document'];
            }

            if (isset($input['document'])) {

            log::info('if ke andar aa rh ahai');

            $multipartArray[] = [
                'name'     => 'project_name',
                'contents' => $input['project_name']
            ];

            $multipartArray[] = [
                'name'     => 'weburl',
                'contents' => $input['weburl']
            ];
            $multipartArray[] = [
                'name'     => 'keyword',
                'contents' => $input['keyword']
            ];
            $multipartArray[] = [
                'name'     => 'severity',
                'contents' => $input['severity']
            ];
            $multipartArray[] = [
                'name'     => 'tasktype',
                'contents' => $input['tasktype']
            ];
            $multipartArray[] = [
                'name'     => 'taskdeadline',
                'contents' => $input['taskdeadline']
            ];
            $multipartArray[] = [
                'name'     => 'user',
                'contents' => $input['user']
            ];
            $multipartArray[] = [
                'name'     => 'status',
                'contents' => $input['status']
            ];
            $multipartArray[] = [
                'name'     => 'description',
                'contents' => $input['description']
            ];
            $multipartArray[] = [
                'name'     => 'admin_id',
                'contents' => $input['admin_id']
            ];
            $multipartArray[] = [
                'name'     => 'admin_email',
                'contents' => $input['admin_email']
            ];
            $multipartArray[] = [
                'name'     => 'user_id',
                'contents' => $input['user_id']
            ];
            $multipartArray[] = [
                'name'     => 'user_email',
                'contents' => $input['user_email']
            ];
            $multipartArray[] = [
                'name'     => 'u_org_slugname',
                'contents' => $input['u_org_slugname']
            ];
            $multipartArray[] = [
                'name'     => 'u_org_organization_id',
                'contents' => $input['u_org_organization_id']
            ];
            $multipartArray[] = [
                'name'     => 'u_org_role_id',
                'contents' => $input['u_org_role_id']
            ];
            $multipartArray[] = [
                'name'     => 'url_id',
                'contents' => $input['url_id']
            ];
            $multipartArray[] = [
                'name'     => 'project_id',
                'contents' => $input['project_id']
            ];
            $multipartArray[] = [
                'name'     => 'title',
                'contents' => $input['title']
            ];
            $multipartArray[] = [
                'name'     => 'document',
                'contents' => $input['document']
            ];



            array_push($multipartArray,[
                'name' => 'project_name',             
                'contents' => $input['project_name']  
            ]);
            array_push($multipartArray,[
                'name' => 'weburl',             
                'contents' => $input['weburl']  
            ]);
            array_push($multipartArray,[
                'name' => 'keyword',             
                'contents' => $input['keyword']  
            ]);
            array_push($multipartArray,[
                'name' => 'severity',             
                'contents' => $input['severity']  
            ]);
            array_push($multipartArray,[
                'name' => 'tasktype',             
                'contents' => $input['tasktype']  
            ]);
            array_push($multipartArray,[
                'name' => 'taskdeadline',             
                'contents' => $input['taskdeadline']  
            ]);
            array_push($multipartArray,[
                'name' => 'user',             
                'contents' => $input['user']  
            ]);
            array_push($multipartArray,[
                'name' => 'status',             
                'contents' => $input['status']  
            ]);
            array_push($multipartArray,[
                'name' => 'description',             
                'contents' => $input['description']  
            ]);
            array_push($multipartArray,[
                'name' => 'admin_id',             
                'contents' => $input['admin_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'admin_email',             
                'contents' => $input['admin_email']  
            ]);
            array_push($multipartArray,[
                'name' => 'user_id',             
                'contents' => $input['user_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'document',             // here name should be db name
                'contents' => $input['document']  // here name from blade name 
            ]);
            array_push($multipartArray,[
                'name' => 'user_email',             
                'contents' => $input['user_email']  
            ]);
            array_push($multipartArray,[
                'name' => 'u_org_slugname',             
                'contents' => $input['u_org_slugname']  
            ]);
            array_push($multipartArray,[
                'name' => 'u_org_organization_id',             
                'contents' => $input['u_org_organization_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'u_org_role_id',             
                'contents' => $input['u_org_role_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'url_id',             
                'contents' => $input['url_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'project_id',             
                'contents' => $input['project_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'title',             
                'contents' => $input['title']  
            ]);
            array_push($multipartArray,[
                'name' => 'input_title',             
                'contents' => $input['input_title']  
            ]);

            array_push($multipartArray,[
                'name'     => 'document',
                'contents' => file_get_contents($resume),
                'filename' => $resume->getClientOriginalName()
            ]);

        }else{
            log::info('else ke andar aa rh ahai');
            $multipartArray[] = [
                'name'     => 'project_name',
                'contents' => $input['project_name']
            ];

            $multipartArray[] = [
                'name'     => 'weburl',
                'contents' => $input['weburl']
            ];
            $multipartArray[] = [
                'name'     => 'keyword',
                'contents' => $input['keyword']
            ];
            $multipartArray[] = [
                'name'     => 'severity',
                'contents' => $input['severity']
            ];
            $multipartArray[] = [
                'name'     => 'tasktype',
                'contents' => $input['tasktype']
            ];
            $multipartArray[] = [
                'name'     => 'taskdeadline',
                'contents' => $input['taskdeadline']
            ];
            $multipartArray[] = [
                'name'     => 'user',
                'contents' => $input['user']
            ];
            $multipartArray[] = [
                'name'     => 'status',
                'contents' => $input['status']
            ];
            $multipartArray[] = [
                'name'     => 'description',
                'contents' => $input['description']
            ];
            $multipartArray[] = [
                'name'     => 'admin_id',
                'contents' => $input['admin_id']
            ];
            $multipartArray[] = [
                'name'     => 'admin_email',
                'contents' => $input['admin_email']
            ];
            $multipartArray[] = [
                'name'     => 'user_id',
                'contents' => $input['user_id']
            ];
            $multipartArray[] = [
                'name'     => 'user_email',
                'contents' => $input['user_email']
            ];
            $multipartArray[] = [
                'name'     => 'u_org_slugname',
                'contents' => $input['u_org_slugname']
            ];
            $multipartArray[] = [
                'name'     => 'u_org_organization_id',
                'contents' => $input['u_org_organization_id']
            ];
            $multipartArray[] = [
                'name'     => 'u_org_role_id',
                'contents' => $input['u_org_role_id']
            ];
            $multipartArray[] = [
                'name'     => 'url_id',
                'contents' => $input['url_id']
            ];
            $multipartArray[] = [
                'name'     => 'project_id',
                'contents' => $input['project_id']
            ];
            $multipartArray[] = [
                'name'     => 'title',
                'contents' => $input['title']
            ];



            array_push($multipartArray,[
                'name' => 'project_name',             
                'contents' => $input['project_name']  
            ]);
            array_push($multipartArray,[
                'name' => 'weburl',             
                'contents' => $input['weburl']  
            ]);
            array_push($multipartArray,[
                'name' => 'keyword',             
                'contents' => $input['keyword']  
            ]);
            array_push($multipartArray,[
                'name' => 'severity',             
                'contents' => $input['severity']  
            ]);
            array_push($multipartArray,[
                'name' => 'tasktype',             
                'contents' => $input['tasktype']  
            ]);
            array_push($multipartArray,[
                'name' => 'taskdeadline',             
                'contents' => $input['taskdeadline']  
            ]);
            array_push($multipartArray,[
                'name' => 'user',             
                'contents' => $input['user']  
            ]);
            array_push($multipartArray,[
                'name' => 'status',             
                'contents' => $input['status']  
            ]);
            array_push($multipartArray,[
                'name' => 'description',             
                'contents' => $input['description']  
            ]);
            array_push($multipartArray,[
                'name' => 'admin_id',             
                'contents' => $input['admin_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'admin_email',             
                'contents' => $input['admin_email']  
            ]);
            array_push($multipartArray,[
                'name' => 'user_id',             
                'contents' => $input['user_id']  
            ]);

            array_push($multipartArray,[
                'name' => 'user_email',             
                'contents' => $input['user_email']  
            ]);
            array_push($multipartArray,[
                'name' => 'u_org_slugname',             
                'contents' => $input['u_org_slugname']  
            ]);
            array_push($multipartArray,[
                'name' => 'u_org_organization_id',             
                'contents' => $input['u_org_organization_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'u_org_role_id',             
                'contents' => $input['u_org_role_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'url_id',             
                'contents' => $input['url_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'project_id',             
                'contents' => $input['project_id']  
            ]);
            array_push($multipartArray,[
                'name' => 'title',             
                'contents' => $input['title']  
            ]);
            array_push($multipartArray,[
                'name' => 'input_title',             
                'contents' => $input['input_title']  
            ]);

        }
                // document is comming from blade page close
                $http = new Client(); //GuzzleHttp\Client
                $response = $http->post(
                    Config::get('app.SD_TASK_BOARD_MS_BASE_URL') . Config::get('app.SD_TASK_BOARD_MS_STORE_URL')
                    . '/'
                    .$project_name,
                    [
                        'headers' => [
                            'Accept'     => 'application/json',
                            'Authorization' => 'Bearer ' . $access_token
                        ],
                        // 'form_params' => $request->all()
                        'multipart' => $multipartArray
                    ]
                );
                // Log:info('$http' . $http);
                Log::info('Got the response from Task board ');
                Log::info('data store ho gaya hai successfully');
                $responseJson = json_decode($response->getBody()->getContents(), true);

                return response()->json($responseJson, 200);
            } else {
                return response()->json($responseJson, 422);
            }       
Enter fullscreen mode Exit fullscreen mode

Top comments (0)