iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
自我挑戰組

PHP 沿途的風景系列 第 15

[Day 15] 好奇 **陣列** 轉換為 JSON Response,真的嗎?

  • 分享至 

  • xImage
  •  

好奇 陣列 轉換為 JSON Response,真的嗎?

Laravel 會自動將 陣列 轉換為 JSON Response,這句話是擷取至 Laravel 文件,真的是這樣嗎? 如果是真的,那我就無需 response->json(["id" => 1, "message" =>"Hello Word!"]);

  • 檢視 陣列 輸出的 Content-Type 是不是 application/json;
    • 是 application/json -> JSON Response
    • 不是 application/json
  • 測試程式如下:
<?php
Route::get('/arr', function(){
    
    $data = [
        "id" => 1,
        "message" => "Hello word!",
    ];
    return $data;
});
  • 使用 curl call api:
    curl -i http://127.0.0.1:8001/v1/arr

結語

依照本文的測試,既然 Laravel 會自動將 陣列 轉換為 JSON Response,以後如果遇到 return value 是陣列,也就不用再加一 json() 的 method,將資料內容型別轉為 Json Response. ((省字

判斷 Laravel 的 return 陣列 轉換為 JSON Response,當然也是可以從 Laravel 程式底層開始追起,但是追一追,可能不知道轉到哪裡去了,所以我才用 curl Call API,直接從結果找答案。

p.s return 陣列要加 json() 也是可以的,端看團隊的 codeing style


參考文章

1 Laravel 文件 - HTTP Responses
2 [Day 07] 使用 curl 打 api 簡例


上一篇
[Day 14] Laravel HTTP Response 簡介
下一篇
[Day 16] 自制 Laravel helper response function
系列文
PHP 沿途的風景30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言