Laravel 5.5 Response

Response(响应)

// 添加响应头
    return response($content)
        ->header('Content-Type', $type)
        ->header('X-Header-One', 'Header Value')
        ->header('X-Header-Two', 'Header Value');
    
    return response($content)
        ->withHeaders([
            'Content-Type' => $type,
            'X-Header-One' => 'Header Value',
            'X-Header-Two' => 'Header Value',
        ]);

 // 添加 Cookie 到响应
    return response($content)
        ->header('Content-Type', $type)
        ->cookie('name', 'value', $minutes);
// Cookie & 加密
    默认情况下,Laravel 框架生成的 Cookie 都经过了加密和签名,以免在客户端被篡改。如果你想要让特定的 Cookie 子集在生成时取消加密,可以通过 app/Http/Middleware 目录下的中间件 App\Http\Middleware\EncryptCookies 提供的 $except 属性来排除这些 Cookie
    /**
     * 不需要被加密的cookies名称
     *
     * @var array
     */
    protected $except = [
        'cookie_name',
    ];

// 重定向
    return redirect('home/dashboard');
// 重定向到上一个请求的位置
    return back()->withInput();
// 重定向到命名路由
    return redirect()->route('login');
    return redirect()->route('profile', ['id'=>1]);
    return redirect()->route('profile', [$user]);
// 重定向到控制器动作
    return redirect()->action('HomeController@index');
    return redirect()->action('UserController@profile', ['id'=>1]);
// 带一次性 Session 数据的重定向
    return redirect('dashboard')->with('status', 'Profile updated!');
// 其它响应类型
    (视图响应)
        return response()
                ->view('hello', $data, 200)
                ->header('Content-Type', $type);
    
    (JSON响应)
        * json响应
        return response()->json([
                'name' => 'Abigail',
                'state' => 'CA'
        ]);
    
        * jsonp响应
        return response()
                ->jsonp($request->input('callback'), ['name' => 'Abigail', 'state' => 'CA']);
    
    (文件下载)
        download 方法用于生成强制用户浏览器下载给定路径文件的响应。download 方法接受文件名作为第二个参数,该参数决定用户下载文件的显示名称,你还可以将 HTTP 头信息作为第三个参数传递到该方法:
        return response()->download($pathToFile);
        return response()->download($pathToFile, $name, $headers);
        return response()->download($pathToFile)->deleteFileAfterSend(true);
    
    (文件响应)
        file 方法可用于直接在用户浏览器显示文件,例如图片或 PDF,而不需要下载,该方法接收文件路径作为第一个参数,头信息数组作为第二个参数:
        return response()->file($pathToFile);
        return response()->file($pathToFile, $headers);

猜你喜欢

转载自blog.csdn.net/qq_37910492/article/details/84543804
今日推荐