laravel return api with status code example

Example 1: laravel api response trait

trait RespondsWithHttpStatus
{
    protected function success($message, $data = [], $status = 200)
    {
        return response([
            'success' => true,
            'data' => $data,
            'message' => $message,
        ], $status);
    }

    protected function failure($message, $status = 422)
    {
        return response([
            'success' => false,
            'message' => $message,
        ], $status);
    }
}

Example 2: laravel check if api request

if (Request::wantsJson()) {
    // return JSON-formatted response
} else {
    // return HTML response
}