01/10/2018, 15:40

Bài 9: Laravel – Response

Basic Response Mổi request có một response. Laravel cung cấp một vài cách khác nhau để trả về response. Response có thể gửi từ route hoặc từ controller. Basic response có thể sẽ gửi là một chuỗi đơn giản như ví dụ dưới. Chuỗi này sẽ tự đọng chuyển đến HTTP response thích hợp. ...

Basic Response

Mổi request có một response. Laravel cung cấp một vài cách khác nhau để trả về response. Response có thể gửi từ route hoặc từ controller.

Basic response có thể sẽ gửi là một chuỗi đơn giản như ví dụ dưới.

Chuỗi này sẽ tự đọng chuyển đến HTTP response thích hợp.

Example

Step 1: thêm code sau trong file định tuyến

Route::get(‘/basic_response’, function () {

   return ‘Hello World’;

});

Step 2: chạy http://localhost:8000/basic_response

Step 3: output

Sẽ là một chuỗi “Hello World” trên màn hình.

Attaching Headers

Response có thể đính kèm tới header bằng cách sử dụng phương thức header(). Chúng ta cũng có thể đính kèm nguyên serial của header luôn.

Code mẩu:

return response($content,$status)

   ->header(‘Content-Type’, $type)

   ->header(‘X-Header-One’, ‘Header Value’)

   ->header(‘X-Header-Two’, ‘Header Value’);

Example

Step 1: thêm code định tuyến sau:

Route::get(‘/header’,function(){

   return response(“Hello”, 200)->header(‘Content-Type’, ‘text/html’);

});

Step 2: chạy http://localhost:8000/header

Step 3: output

bai9_response

Attaching Cookies

Với helper withCookie() sẽ dùng để đính kèm cookies trong response. Cookie tạo ra với phương thức này có thể được đính kèm bằng cách gọi phương thức withCookie() với response instance. Mặc định, tất cả cookie tạo ra bằng Laravel được mã hóa và ký tên vì vậy chúng không thể thay đổi và đọc được từ client.

Example

Step 1: thêm code sau vào file định tuyến

Route::get(‘/cookie’,function(){

   return response(“Hello”, 200)->header(‘Content-Type’, ‘text/html’)

      ->withcookie(‘name’,Ku Tin’);

});

Step 2: chạy http://localhost:8000/cookie

Step 3: output

chuỗi hello world trên màn hình.

Đến đây thì cookie đã được trả về cùng với response và bạn có thể sử dụng cookie.

JSON Response

JSON response có thể được gửi bằng cách sử dụng phương thức json. Phương thức này sẽ tự động set Content-Type header tới application/json. Phương thức json tự động chuyển mãng vào response json thích hợp.

Example

Step 1: thêm code sau vào file định tuyến

Route::get(‘json’,function(){

   return response()->json([‘name’ => ‘Ku Tin’, ‘state’ => ‘TpHCM’]);

});

Step 2: http://localhost:8000/json

Step 3: output

bai9_response_json

Note: chúng ta k thực hành trên controller cho các ví dụ trên, các phương thức sử dụng trong đối tượng response cũng được sử dụng như thế nếu trong controller các bạn use namespace IlliminateHttp esponse vào.

Bài tập:

Hãy thực hiện response trong bài học này nhưng thực hiện trên các phương thức của Controller.

0