iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 12
0
Modern Web

VUE & PHP (Apache2) & Docker 實戰開發系列 第 12

Day12 - PHP-測試API的CRUD

先前VUE介紹了一下axios的封裝,現在我們把時間換來後端的PHP。

上次講到了API的創建,同時我們也把API的CRUD一起創建完成,
再來要確認所創的API是否能真的做到事情,這時就可以用PostMan來好好的測試一下啦!

這邊先來了解一下HTTP Method對應到的CRUD吧~

POST : 新增資料(Create)

GET : 檢索資料(Read)

PUT : 更新資料(Update)

DELETE : 刪除資料(Delete)

再來打開PostMan看到以下畫面

https://ithelp.ithome.com.tw/upload/images/20181023/20108846AOiZB2tquM.png

就先來試看看它是怎麽work的,
先用GET來得到我們之前創的假資料,
URL就輸入http://127.0.0.1/api/houses
按出Send得到以下畫面

https://ithelp.ithome.com.tw/upload/images/20181025/201088460haHEd8Pfi.png

這邊看到Status顯示200 OK
代表這GET的API能夠work了,
如果要檢索單筆資料後面再加入/{id}
這邊我想要得到id為1的資料得到以下畫面

https://ithelp.ithome.com.tw/upload/images/20181025/20108846I5vBEUmj1c.png

再來使用POST來新增一筆資料,
URL就輸入http://127.0.0.1/api/houses
之後選擇Body裡的raw輸入需要的值並選擇JSON(application/json)

{
    "city": "Taipei",
    "district": "Da An Qu",
    "kind": "Condor",
    "area": 28,
    "pattern": 4,
    "price": 35000
}

確認該輸入的值都沒問題後Send出得到下方畫面

https://ithelp.ithome.com.tw/upload/images/20181025/20108846sp2NnV7M1F.png

id、updated_at、created_at這三項是會自動回傳值的,
所以我們在輸入需求值時並不會加入在Body裡,
這邊看到Status顯示201 Created
代表這POST的API能夠work並且新增動作執行成功。

接下來使用PUT來更新剛剛新增id:21的資料,
這邊我們需要一些值來讓API知道我們要更新的是哪一筆資料,
這值就是剛剛自動回傳的id、updated_at、created_at
如果缺少一項對導致API無法判別,
URL就輸入http://127.0.0.1/api/houses/21
選擇Body裡的raw輸入需要更新的值並選擇JSON(application/json)

{
    "city": "Kaouhsing",
    "district": "Xiao Gang Qu",
    "kind": "Apartment",
    "area": 36,
    "pattern": 3,
    "price": 28000,
    "updated_at": "2018-10-25 14:59:52",
    "created_at": "2018-10-25 14:59:52",
    "id": 21
}

確認該輸入的值都沒問題後Send出得到下方畫面

https://ithelp.ithome.com.tw/upload/images/20181025/20108846gNogrxgPcA.png

這邊看到Status顯示200 OK
代表這PUT的API能夠work並且新增動作執行成功。

最後一步DELETE動作,刪除id:21的資料,
URL就輸入http://127.0.0.1/api/houses/21
選擇Body裡的raw輸入需要刪除的值並選擇JSON(application/json)
按出Send得到以下畫面

https://ithelp.ithome.com.tw/upload/images/20181026/20108846gSVdgPdGhr.png

這邊看到Status顯示204 No Content
代表這DELETE的API能夠work並且刪除動作執行成功。

以上就是簡單的測試API的CRUD,
本篇介紹到此,下次見~


上一篇
Day11 - Vue & Axios 封裝
下一篇
Day13-PHP-Laravel 架構介紹
系列文
VUE & PHP (Apache2) & Docker 實戰開發30

1 則留言

0
w04107879
iT邦新手 5 級 ‧ 2019-02-18 16:07:30

大大您好
我在我的實作中由於有登入認證的機制,所以是不是不太能用大大您的store function啊?
我的get正常 post的時候在Postman上就會發生錯誤

抱歉我不是太了解

  1. 你的登入是如何實作的
  2. postman上的錯誤是?
w04107879 iT邦新手 5 級 ‧ 2019-02-26 15:12:47 檢舉

登入機制是laravel內建的登入機制
Postman是顯示500 Internal Server Error

抱歉,有點久沒上來看了,不知道你的問題還在不在。
如果是內建的登入機制,不能用就只是因為登入驗證沒過。

我要留言

立即登入留言