Use of AppBaseController in laravel
How To Use AppBaseController In Laravel
- Generally use of AppBaseController for JSON Response
- First of all open your laravel project in any editor.
- Create a new class file "AppBaseController.php" at App\Http\Controllers
- Just copy paste this code in file
<?php
namespace App\Http\Controllers;
use App\Utils\ResponseUtil;
use Response;
/**
* @SWG\Swagger(
* basePath="/api/v1",
* @SWG\Info(
* title="Laravel Generator APIs",
* version="1.0.0",
* )
* )
* This class should be parent class for other API controllers
* Class AppBaseController
*/
class AppBaseController extends Controller
{
public function sendResponse($result, $message)
{
return Response::json(ResponseUtil::makeResponse($message, $result));
}
public function sendError($error, $code = 422)
{
return Response::json(ResponseUtil::makeError($error), $code);
}
public function sendSuccess($message)
{
return Response::json([
'success' => true,
'message' => $message,
], 200);
}
}
- After that create new directory "Utils" at app directory.
- And create new class file "ResponseUtil.php".
- just copy paste this code
<?php
namespace App\Utils;
class ResponseUtil
{
/**
* @param string $message
* @param mixed $data
*
* @return array
*/
public static function makeResponse($message, $data)
{
return [
'success' => true,
'data' => $data,
'message' => $message,
];
}
/**
* @param string $message
* @param array $data
*
* @return array
*/
public static function makeError($message, array $data = [])
{
$res = [
'success' => false,
'message' => $message,
];
if (! empty($data)) {
$res['data'] = $data;
}
return $res;
}
}
- That's it your Appbasecontroller configuration is done!!!
- How to use response
-> For only message <?php
namespace App\Http\Controllers;
use App\Utils\ResponseUtil;
use Response;
/**
* @SWG\Swagger(
* basePath="/api/v1",
* @SWG\Info(
* title="Laravel Generator APIs",
* version="1.0.0",
* )
* )
* This class should be parent class for other API controllers
* Class AppBaseController
*/
class AppBaseController extends Controller
{
public function sendResponse($result, $message)
{
return Response::json(ResponseUtil::makeResponse($message, $result));
}
public function sendError($error, $code = 422)
{
return Response::json(ResponseUtil::makeError($error), $code);
}
public function sendSuccess($message)
{
return Response::json([
'success' => true,
'message' => $message,
], 200);
}
}
- After that create new directory "Utils" at app directory.
- And create new class file "ResponseUtil.php".
- just copy paste this code
<?php
namespace App\Utils;
class ResponseUtil
{
/**
* @param string $message
* @param mixed $data
*
* @return array
*/
public static function makeResponse($message, $data)
{
return [
'success' => true,
'data' => $data,
'message' => $message,
];
}
/**
* @param string $message
* @param array $data
*
* @return array
*/
public static function makeError($message, array $data = [])
{
$res = [
'success' => false,
'message' => $message,
];
if (! empty($data)) {
$res['data'] = $data;
}
return $res;
}
}- That's it your Appbasecontroller configuration is done!!!
Very useful 😊
ReplyDeleteMuch helpful and good blog bro.
ReplyDeleteKeep it up 👍
Thanks bro..
ReplyDeleteKeep it up 👍
ReplyDelete